WebLogic JDBC & Transaction 版精华总结

来源:互联网 发布:犀牛软件的模型 编辑:程序博客网 时间:2024/06/10 07:29

BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
WebLogic JDBC & Transaction 版精华帖整理
崔飞飞 (DEV2DEV ID:CONVERSE)
除了论坛内的精华内容,增加了一些WEBLOGIC JDBC 的基础配置知识。论坛内有许多
问题是没有回答和解决的,对于这部分内容如果有相类似的就进行归类,其他的就通过查找
相关的资料进行回答,实在解决不了的,整理的时候都做了记录。
整理的过程中对很多原先不清晰的概念,有了更清晰深刻的理解,希望整理后的内容也
能对大家起到这样的作用,限于本人的水平,如有不正确或遗漏之处请大家补充完善。
WebLogic JDBC & Transaction 版精华总结 第 2 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
目 录
WebLogic JDBC & Transaction 版精华帖整理............................................................................1
目 录.............................................................................................................................................2
1 JDBC 连接池配置.........................................................................................................................4
1.1 配置连接池 FOR WEBLOGIC 8.1 ..................................................................................4
1.1.1 通过程序配置连接池.............................................................................................7
1.1.2 通过程序查看连接池运行状态信息.....................................................................7
1.2 配置连接池常见问题........................................................................................................8
1.2.1 连接有效性测试选项.............................................................................................8
1.2.2 不同类型驱动的区别与选择..................................................................................8
1.2.3 JDBC 连SQL SERVER 数据库的常见问题........................................................10
1.2.4 XA-DRIVER 与普通DRVIER 的区别................................................................11
2 JDBC 连接池使用.......................................................................................................................12
2.1 数据库连接方法总结......................................................................................................12
2.2 数据库连接池使用常见问题..........................................................................................13
2.2.1 连接泄漏(pool connection leak).......................................................................13
2.2.2 处理ORACLE 的BLOB 字段.............................................................................15
2.2.3 配置连接池成功程序使用出问题........................................................................16
3 事务处理.....................................................................................................................................17
3.1 事务的属性和基本概念..................................................................................................17
3.1.1 Local transaction 和Distributed transaction 有什么区别? ...................................17
3.1.2 跨资源的Transaction 如何控制? .......................................................................18
3.1.3 XA 的driver,是否也是一种distribued transaction? .......................................18
3.1.4 JTA 和JTS 到底有什么区别? .............................................................................19
3.1.5 分布式事务提交或回滚后恩能够否关闭连接? ...............................................19
4 论坛常见问题..............................................................................................................................20
4.1 有谁说说DriverManger 的性能和DataSource 的区别? ..........................................20
4.2 PreparedStatement 和Statement 的区别在什么地方? ..........................................20
4.3 解释一下 connection pool 中的 physical connection 和 logic connection 的
区别........................................................................................................................................20
4.4 连接池中连接使用出错: connection reset by peer, 原因? ............................21
4.5 数据库链接资源该怎么优化?........................................................................................21
4.6 如果页面没有执行到关闭连接的地方,页面被关闭,如何去释放这个建立的连接?
WebLogic JDBC & Transaction 版精华总结 第 3 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
...............................................................................................................................................21
5 附录...........................................................................................................................................23
5.1 代码1---连接池设置代码.............................................................................................23
5.2 代码2---连接池监控代码.............................................................................................24
WebLogic JDBC & Transaction 版精华总结 第 4 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
1 JDBC 连接池配置
1.1 配置连接池 FOR WEBLOGIC 8.1
论坛内经常有人询问如何配置连接池的问题,这里把配置的详细过程都再重复一遍,并
包含论坛内对配置连接池出现的问题回答进行整理。
STEP 1: 数据库类型和驱动类型的选择,对于各种TYPE 的驱动附录内容会做介绍。
STEP 2:连接池连接属性配置,连接URL,用户名/密码,数据库服务名。
WebLogic JDBC & Transaction 版精华总结 第 5 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
STEP 3:测试连接池配置是否正确。
STEP 4:测试成功后进行部署。
STEP 5:部署成功,选择该连接进行连接池的参数配置。
WebLogic JDBC & Transaction 版精华总结 第 6 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
STEP 6:连接池的参数配置。
配置完成后在config.xml 文件中对应的各属性解释如下:
• 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: 如果选择了这个选项,服务器就会在把连接返回给连接池
之前对其进行测试。
WebLogic JDBC & Transaction 版精华总结 第 7 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
• Test Table Name: 用于JDBC 连接测试的数据库表名。如果指定了Test Frequency,
并且选择了Test Reserved Connections、Test Created Connections 或Test Released
Connections,则Table Name 是必需的。
• Weblogic.codeset=GBK:编码格式
1.1.1 通过程序配置连接池
配置连接池可以通过weblogic.management.configuration.JDBCConnectionPoolMBean 或者
是weblogic.management.configuration.JDBCDataSourceMBeanl 编程进行。
具体代码见附录部分—代码1(连接池设置)
1.1.2 通过程序查看连接池运行状态信息
配置连接池可以通过weblogic.management.configuration.JDBCConnectionPoolMBean 或者
编程获取运行态的信息。
具体代码见附录部分—代码2(连接池监控)
WebLogic JDBC & Transaction 版精华总结 第 8 页总 31 页
BEA dev2dev 中国网站http://dev2dev.bea.com.cn 版权所有
1.2 配置连接池常见问题
1.2.1 连接有效性测试选项
Q: 连接池配好后,启动正常,如果Connection Pool 在使用过程中与数据库的联系因为网络
的问题或别的原因断掉,是不是必须重新启动weblogic 才能重新让Connection Pool 连上数
据库?我现在每次一碰到数据库连不上就要重启一次wlsServer,烦得要命。
此类问题出现的原因:
原创粉丝点击