`
liuzejian4
  • 浏览: 58212 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

xapool

 
阅读更多
由于前期使用中的发现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,我会加你的.
分享到:
评论

相关推荐

    xapool-1.5.0-src 源码下载

    《深入解析xapool-1.5.0-src:挖掘JDBC连接池的源码奥秘》 在Java开发中,数据库连接管理是一项至关重要的任务,有效地管理数据库连接可以提高系统的性能和稳定性。xapool-1.5.0-src是Enhydra项目中的一个开源JDBC...

    xapool-1.6jar包

    xapool-1.6jar包,修复了以前版本的bug

    JTA 分布式事务 XAPool 1.5和1.6的所有jar包,源码包

    压缩包中的文件包括不同版本的jar包(xapool-1.5.0.jar和xapool-1.6.beta.jar),它们是XAPool的二进制库,可以直接引入到Java项目中使用。另外,还有源码包(xapool-1.5.0-src.tgz和xapool-1.6.beta-src.tgz),...

    spring3.0+struts2.0+mybatis3.2+jta+xapool配置文件示例

    本示例"spring3.0+struts2.0+mybatis3.2+jta+xapool配置文件"就是一个典型的Java企业级应用的集成框架,用于实现数据持久层、业务逻辑层以及控制层的整合。以下将详细介绍这些组件及其配置要点。 **Spring 3.0** 是...

    xapool.jar

    xapool.jar............

    XApool连接池报空指针错误解决

    NULL 博文链接:https://fableking.iteye.com/blog/954153

    xapool-1.4.jar

    开源XA JDBC池 com.experlog/xapool/1.4/xapool-1.4.jar

    xapool-1.6-beta.jar

    开源XA JDBC池 com.experlog/xapool/1.6-beta/xapool-1.6-beta.jar

    jotm 的 jar

    在JOTM中,XAPool jar 文件(xapool.jar)的作用是提供连接池服务,允许JOTM更有效地管理和复用数据库连接,减少创建和销毁连接的开销,提高系统性能和资源利用率。XAPool 是X/Open XA资源适配器的一个组成部分,它...

    Java-ConnectionPools.rar_连接池

    9. **XAPool**:XAPool是GigaSpaces XAP的一部分,主要用于提供高可用性和容错性的数据库连接池。XAPool与分布式事务处理相结合,适合在分布式环境中使用。 10. **rpDatabasePool2_0**:这可能是一个特定版本的...

    Spring分布式事务实现

    `xapool.jar`是XAPool,它是Apache软件基金会的一个项目,提供了一个高效的JDBC连接池,对JOTM这样的事务管理器非常有用。 `spring.jar`包含了Spring框架的核心类,其中包括了Spring的事务管理组件。`aspectjweaver...

    JOTM开发所需jar包

    5. xapool.jar:这通常是一个连接池库,例如XAPool,用于高效管理数据库连接。 6. jotm-1.4.3.jar:与上面的jotm.jar类似,是JOTM的另一个版本,版本号为1.4.3。 7. jonas_timer-1.4.3.jar:可能与Jonas服务器(一...

    c3p0-0.9.1.2等等

    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 (我做毕业设计时,用到的。需要的话拿去用)

    SSH开发所需的jar包4

    9. **xapool.jar**:这个库通常用于数据库连接池,如XAPool,它是Apache的Jakarta Commons Pool的特定实现,用于管理数据库连接的分配和回收。 10. **struts2-spring-plugin-2.1.8.1.jar**:这是Struts2的Spring...

    分布式事务操作之Spring+JTA+mybatis源码

    - **XAPool 或其他连接池**:为了支持JTA,你需要一个JTA兼容的数据源,如XAPool,它可以提供JTA连接池。 - **Atomikos、Bitronix等JTA实现**:这些第三方库实现了JTA规范,可以用来管理分布式事务。 6. **配置...

    简易搭建ssh 框架

    xapool.jar可能包含的是XAPool,这是一个连接池库,用于提高数据库连接的复用率,减少创建和关闭连接的开销。 接下来是Struts框架,它是基于MVC(模型-视图-控制器)设计模式的Java Web开发框架。Struts负责处理...

    学生选课系统中所用的60个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-...

    Java分布式开发spring+jta+jotm

    <bean id="xapool" class="org.objectweb.jotm.UserTransactionImpl" init-method="start"> ``` **分布式事务处理** 在Spring应用中,你可以使用`@Transactional`注解来声明方法需要在一个事务中执行。Spring会...

    springboot整合jta实现多数据源事务管理

    - 同时,为每个数据源注册对应的XAPool配置。 4. **配置事务管理器**: - 创建一个PlatformTransactionManager的Bean,通常会是AtomikosTransactionManager或者BitronixTransactionManager。 - 使用`@...

    jotm jar包

    1. 引入JOTM的jar包:将下载的JOTM jar包(可能包括`jotm-core.jar`、`xapool.jar`等)添加到项目的`lib`目录或类路径中。 2. 配置事务管理器:在应用服务器或Spring框架等环境中,设置JOTM作为默认的事务管理器。这...

Global site tag (gtag.js) - Google Analytics