[转帖] WebLogic 连接池配置说明_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3389 | 回复: 0   主题: [转帖] WebLogic 连接池配置说明        下一篇 
luxiaofan
注册用户
等级:上尉
经验:705
发帖:67
精华:0
注册:2012-10-8
状态:离线
发送短消息息给luxiaofan 加好友    发送短消息息给luxiaofan 发消息
发表于: IP:您无权察看 2012-10-16 10:40:27 | [全部帖] [楼主帖] 楼主

     进入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按钮




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论