一只关于猫和狗的漫画:weblogic connection pool设置及其参数说明

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 05:37:07
进入weblogic后台,配置数据库连接池。因为我的项目数据库是ORACLE,那就以Oracle的配置作为示例: 

我的示例weblogic是8.x,其他版本都同理,找到参数后即可 

进入后台后,单击左边的mydomain—>Services—>JDBC—>Connection Pools 
新建我就不说了,在我的文章里面有weblogic的数据源连接create 

9.x的要解锁,那就先解锁。点击你想设置的数据源的名称进去。进去后点击上面的菜单Connections 

看到参数设置了吧。 

Initial Capacity:100   (初始化容器的连接数) 
Maximum Capacity:1000  (容器中最大的连接数1000,如果超过/还没到1000就会报超出最大连接的错误,原因你的Oracle安装数据库的时候其池没设置大小,现在你也可以设置。设置方法:找到Oracle的init.ora文件这个文件一般在oracle/admin/数据库SID/pfile里面。找到large_pool_size这一句,把这一句删除,那就不受限制了。注意:没受限制的情况下不要调这个参数太大了,35000就OK了,太大的时候数据库会承受不起) 
Capacity Increment:15   (一次增加多少个connection) 
Statement Cache Size:50 (缓存大小) 

按下下面的Advanced Options "Show",设置详细的配置 
下面是JNDI的自动回收设置,比较重要,调几个重要的参数,其他的默认 
Test Frequency:3600(测试频率,这个会消耗资源。这个看你的项目需要,一般代码写得比较好的可以设置长点时间) 
把下面三个都打上勾。通过测试,发现连接没关的就会被回收(详细说明可以看下面的参数说明) 
Test Reserved Connections 
Test Created Connections 
Test Released Connections 

Inactive Connection Timeout:60(无效连接超时!这个会在指定的时间内,回收无效连接) 

网上有些人说设置这些参数后一定的时间会出现java.lang.OutOfMemoryError的错误 
解决的方法就是调大JVM的内存,在启动时对jvm设置内存限度 
通过修改commom\bin\commEnv.cmd文件来增加内存分配 
修改的部分如下: 
:bea 
if "%PRODUCTION_MODE%" == "true" goto bea_prod_mode 
set JAVA_VM=-jrockit 
set MEM_ARGS=-Xms768m -Xmx1024m 
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none 
goto continue 
:bea_prod_mode 
set JAVA_VM=-jrockit 
set MEM_ARGS=-Xms768m -Xmx1024m//这些看你内存定1G的就设置=-Xms256m -Xmx512m 
goto continue 

:sun 
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode 
set JAVA_VM=-client 
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m 
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none 
goto continue 
:sun_prod_mode 
set JAVA_VM=-server 
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m//这个就解决了java.lang.OutOfMemoryError的错误 
goto continue 
将这里的内存分配修改后见效。 

连接属性参数说明: 

  * Initial Capacity:创建连接池时所创建的数据库连接的数目。 
  * Maximum Capacity: 连接池中连接的最大数目。 
  * Capacity Increment: 连接池容量在最大容量限制范围内的增量。 
  * LoginDelay: 在创建每个物理数据库连接之前要延迟的秒数。 
  * Allow Shrinking: 将该项设置为true时,如果没有使用额外的连接,则允许连接池把容量减小到InitialCapacity。 
  * Shrink Frequency: 在减小连接池容量之前要等待的秒数。如果将Shrink Frequency设置为true,那么也必须将Allow Shrinking设置为true。 
  * Test Frequency: 数据库连接测试之间间隔的秒数。在每个Refresh Period时间间隔之后,如果设置了TestTableName,就会使用TestTableName测试未使用的数据库连接。 
  * Test Reserved Connections: 如果选择了这个选项,服务器会在把连接提供给客户端之前对其进行测试。 
  * Test Created Connections: 如果选择了这个选项,就会在创建一个JDBC连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。 
  * Test Released Connections: 如果选择了这个选项,服务器就会在把连接返回给连接池之前对其进行测试。 
  * Test Table Name: 用于JDBC连接测试的数据库表名。如果指定了Test Frequency,并且选择了Test Reserved Connections、Test Created Connections或Test Released Connections,则Table Name是必需的 

连接属性参数说明来源于网上,大家从你项目角度设置 
最后别忘记点最下面的APPLY按钮