使用JOTM2.1.9
如果只是为了在tomcat6中使用UserTransaction,仅需如下设置
tomcat_home/conf中设置context.xml:
<Resource name="jdbc/TEST_DS"
auth="Container"
type="javax.sql.DataSource"
factory="org.objectweb.jotm.datasource.DataSourceFactory"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@XXX:1521:xxx"
username="xxx" password="xxx" maxActive="20" maxIdle="10"
maxWait="-1" />
<Resource name="UserTransaction"
auth="Container"
type="javax.transaction.UserTransaction" />
<Transaction factory="org.objectweb.jotm.UserTransactionFactory"
jotm.timeout="60" />
在tomcat_home/conf中加入carol.properties
carol.protocols=jrmp
carol.jvm.rmi.local.call=true
carol.start.jndi=false
carol.start.ns=false
carol.jndi.java.naming.factory.url.pkgs=org.apache.naming
在tomcat_home/lib中加入
carol.jar
carol-interceptors.jar
howl.jar
jotm-core.jar
jotm-datasource.jar
ow2-connector-1.5-spec.jar
ow2-jta-1.1-spec.jar
xapool.jar
commons-logging.jar
调用程式为
Context ctx = new InitialContext();
DataSource ds = (DataSource)
ctx.lookup("java:comp/env/jdbc/TEST_DS");
UserTransaction ut = (UserTransaction)
ctx.lookup("java:comp/UserTransaction");
java.sql.Connection conn = ds.getConnection();
ut.begin();
ut.commit(); or ut.rollback();
程式最小依赖包为
jotm-core.jar
jotm-client.jar
jotm-datasource.jar
ow2-jta-1.1-spec.jar
xapool.jar
另 xapool最新為2005年的xapool-1.5.0.jar, 需使用jdk1.4進行編譯
若出現 getConnection no connection available 或游標爆掉
修改
org.enhydra.jdbc.pool.GenericPool
在 life = (Long) unlocked.get(o); 下修改為
if (life != null) {
unlocked.remove(o);
realObject = o.getObj();
}
修改
org.enhydra.jdbc.standard.StandardConnectionPoolDataSource
public static final int DEFAULT_PREPAREDSTMTCACHESIZE = 0;
分享到:
相关推荐
在Tomcat中配置JOTM,可以提供更高级别的事务控制,这对于处理复杂的Web应用程序是至关重要的。 接下来,我们来看`carol.properties`文件。这通常是JOTM的配置文件,用于定义事务管理器的行为。在这个文件中,你...
本文将深入探讨如何在Tomcat应用服务器上集成JTA,并使用JOTM(Java Open Transaction Manager)或Atomikos作为事务管理器来实现分布式事务。 首先,我们需要理解JTA的核心概念。JTA是Java EE平台的一部分,提供了...
### Spring + JOTM 多数据源事务管理详解(三):JNDI + Tomcat 在本篇文章中,我们将深入探讨如何利用Spring框架结合JOTM(Java Open Transaction Manager)来实现多数据源下的分布式事务管理。我们将通过具体实例...
JOTM(Java Open Transaction Manager)是一个开源的Java...总的来说,JOTM、XAPool和Spring的组合为Java开发者提供了一个强大而灵活的分布式事务解决方案,能够在复杂的企业级环境中保证数据的一致性和应用的可靠性。
本篇文章将聚焦于如何结合Spring和JOTM(Java Open Transaction Manager)来实现多数据源的事务管理,特别是针对使用Hibernate的情况。 JOTM是Java平台上的一个开放源代码事务管理器,它遵循JTA(Java Transaction ...
JOTM 是一个强大的工具,尤其对于那些希望在Tomcat这样的轻量级应用服务器中实现企业级事务管理的开发者而言。在Servlet中调用JOTM,可以确保在分布式环境中执行的多个数据库操作或资源管理操作具有原子性、一致性、...
2. **JTA兼容**:遵循Java EE的JTA标准,使得JOTM可以无缝集成到任何符合J2EE规范的应用服务器中,如Tomcat、Jetty等轻量级容器。 3. **高性能与可扩展性**:JOTM设计时考虑了性能和扩展性,能够在高并发环境下保持...
本文将深入探讨如何使用JOTM(Java Open Transaction Manager)来实现这样的功能,尤其关注在多数据源环境下的事务协调。 JOTM是Java世界里一个开源的事务管理器,遵循JTA(Java Transaction API)规范,提供了...
JOTM是一个开源的Java事务管理器,它实现了JTA(Java Transaction API),允许开发者在分布式环境中进行事务管理。 描述中的“多数据源所需配置文件”暗示了这些JAR文件可能用于配置和管理多个数据源,这是在企业级...
Spring框架作为一个广泛使用的Java应用程序开发框架,提供了多种支持事务管理的解决方案,其中包括集成JOTM(Java Open Transaction Manager)来处理分布式事务。本文将深入探讨Spring与JOTM结合使用的知识点,帮助...
编程方式可以直接调用 JTA 接口,而声明式事务管理则可以通过容器(如 Tomcat 或 JBoss)进行配置,使事务管理更加透明。 在实际应用中,JOTM 可能会与诸如 Spring 框架等进行整合,Spring 提供的事务管理抽象层...
**开源事务管理器 JOTM** JOTM(Java Open Transaction Manager)是一个强大的、完全开源的事务处理系统,专门设计用于Java平台。它遵循Java Transaction API (JTA)规范,为分布式事务处理提供了全面的支持。JTA是...
8. **与容器集成**:JOTM可以方便地与流行的Java应用服务器如Tomcat、Jetty等集成,提供事务管理服务。 在实际开发中,使用JOTM时,你需要了解如何配置事务管理器,创建和管理事务,以及如何将它与现有的数据访问层...
8. **集成与配置**:学习如何将JOTM集成到常见的Java应用服务器(如Tomcat、JBoss等)和Spring框架中,是实际开发中非常实用的部分。 通过深入研究JOTM 2.0的源码,开发者不仅可以掌握事务管理的精髓,还能提升对...
1. 引入JOTM的jar包:将下载的JOTM jar包(可能包括`jotm-core.jar`、`xapool.jar`等)添加到项目的`lib`目录或类路径中。 2. 配置事务管理器:在应用服务器或Spring框架等环境中,设置JOTM作为默认的事务管理器。这...
Java源码:开源事务管理器JOTM是一个重要的学习资源,尤其对于那些深入理解Java企业级应用和事务处理机制的开发者来说。JOTM(Java Open Transaction Manager)是基于Java平台的一个开放源代码的事务管理器,它实现...
Java Open Transaction Manager (JOTM) 是一个基于Java平台的开源事务管理器,它遵循了X/Open XA标准,能够支持分布式事务处理。在Java应用系统中,事务管理是核心部分,确保数据的一致性和完整性。JOTM提供了一种...
JOTM是一个完全遵循Java Transaction API (JTA) 1.1规范的开放源代码事务管理器,它为分布式环境提供了高级的事务处理能力。 首先,让我们深入理解什么是Java Transaction API (JTA)。JTA是Java平台标准版(Java EE...