由于前期使用中的发现XAPool这个包里面有类老是报连接方面的错误,于是在参考了一篇网上的文章后把
xapool和包装连接的配置都去掉了,结果导致的是多数据源的事务根本无法实现,后来仔细想想,觉得很诡异,xapool就是jotm实现多数据源事务
的关键所在,怎么能不用?
于是仔细研究了下,发现很多问题,首先,JOTM需要的依赖--CAROL包没有JDK1.5的版本,需要自己下载源码并编译成新的ow_carol-all.jar
Xapool倒是有JDK1.5的版本xapool-1.5.0,但是跑起来老是报错,于是去下了xapool的源文件,发现居然源码都不能编译通过,还
有JDK1.5的保留字在里面,真不知道作者是怎么发布出1.5.0的.于是自己改掉关键字,并修补了一些检查不太严格的检测,并重新打了个版本.结果跑
起来还是会报错,不过是oracle报游标用尽的错误.
搜了一把就发现原来是Oracle9i有名的内存溢出bug导致:Xapool对PreparedStatement进行了Cache,同时Oracle
有一个出名的内存漏洞,PreparedStatement使用之后必须关闭,如果不关闭连续进行SQL查询会造成前面SQL的游标不能释放;
参考了网上的修改方案(xapool1.4的),又自己研究了半天,最后终于成功了,Xapool1.5的修改如下:
修改StandardConnectionPoolDataSource类的public static final int DEFAULT_PREPAREDSTMTCACHESIZE = 0,(当然也可以用配置的方式来注入)
这样就关闭了PreparedStatement的Cache,而且也不会造成什么1.4中关闭连接时的异常等等.
最后根据实际情况,设置好dataSourceXXX这几个bean的lifeTime,sleepTime,maxSize,checkLevelObject属性(具体意义和设置方法可以参考网上的说明
)
就终于可以正式使用了,测试了下,情况还不错:)
最近有很多朋友都说
他们配置不成功,可能是某些细节造成的吧,因为这套系统现在正在TCL总部顺利的运转着,所有我相信这个方法还是可行的,如果大家有什么问题需要我帮助,
我很乐意帮忙,有人说要我自己改的xapool1.5,因为再我改好后不久,1.6就已经发布了,所有我就没有贴出来了,有问题的朋友可以直接留言我你的
msn,我会加你的.
转载地址为:http://www.blogjava.net/hunteva/archive/2009/01/20/62936.html
分享到:
相关推荐
NULL 博文链接:https://fableking.iteye.com/blog/954153
xapool-1.6jar包,修复了以前版本的bug
org.enhydra.jdbc.pool.StandardXAPoolDataSource xapool-1.5.0-src 源码下载
xapool.jar............
XAPool是一个XA数据库连接池。它实现了javax.sql.XADataSource并提供了连接池工具。
开源XA JDBC池 com.experlog/xapool/1.4/xapool-1.4.jar
NULL 博文链接:https://davidhhs.iteye.com/blog/2032762
开源XA JDBC池 com.experlog/xapool/1.6-beta/xapool-1.6-beta.jar
such as EJB, JDO, Hibernate, Toplink(from Oracle), iBATIS, SQLExecutor, and Spring JDBC support in O/R mappings, various connection pools such as Apache commons dbcp, ObjectWeb’s XAPool, and various...
jotm 2.0.1 jar ,spring2.5.jar xapool.jar
antlr-2.7.6rc1.jar(下面的略.jar) asm.jar asm-2.2.3.jar asm-attrs.jar aspectjrt.jar aspectjweaver c3p0-0.9.1.2 ...xapool xerces-2.6.2 xml-apis (我做毕业设计时,用到的。需要的话拿去用)
jta开发需要的所有jar包 jotm.jar jotm_jrmp_stubs.jar jotm_iiop_stubs.jar ow_carol.jar jta-spec1_0_1.jar jts1_0.jar objectweb-datasource.jar xapool.jar howl.jar connector-1_5.jar
asm-2.2.3.jar.zip; c3p0-0.9.1.1.jar.zip; commons-pool-1.3.jar; freemarker-2.3.8.jar; jasperreports-1.3.4.jar; jgroups-2.2.8.jar; jotm.jar.zip; ognl-2.6.11.jar;...xapool.jar.zip; xwork-2.0.4.jar;
connector-1_5.jar/howl.jar/jotm.jar/jotm_iiop_stubs.jar/jotm-carol.jar/jotm-jrmp-stub.jar/jta-spec1_0_1.jar/jts1_0.jar/objectweb-datasource.jar/ow_carol.jar/xapool.jar
java-3.1.12-bin.jar poi-2.5.1.jar quartz-1.5.1.jar spring.jar struts.jar toplink-api.jar velocity-1.4.jar velocity-tools-generic-1.2.jar velocity-tools-view-1.1.jar xapool.jar xerces-2.6.2.jar xml-...
spring+jotm 多数据源事务管理(三)JNDI+Tomcat 首先需要将jotm相关jar包加入到tomcat中,如下: o jotm.jar o jotm_jrmp_stubs.jar ...o xapool.jar o howl.jar o commons-cli-1.0.jar o connector-1_5.jar