最近遇到一个分布式数据库的事务问题,就稍微学习了下相关的东东。见很多人都推荐用jotm,于是就下了个来耍耍。以下为奋斗历程。怎一个郁闷了的。。。。。。
1.http://jotm.objectweb.org/index.html 下载jotm,把src也下下,等下有用。
2.安装tomcat,用的是5.0的版本。
3.参照docs中的文档在tomcat下配置。启动,一切正常。当时我原来的应用不能跑了(是在原来做好的应用架构上作测试,人懒。不过这次好像没懒到。。。)。原来我原来的应用用了webwork2。tomcat5.0貌似不支持。。。
xml 代码
- <Context path="" docBase="f://cvs//entmsg//Root" debug="0"
- reloadable="true" crossContext="true">
- <!---->
- use XAPool
- -->
- <Resource name="jdbc/entDB" auth="Container"
- type="javax.sql.DataSource"/>
- <ResourceParams name="jdbc/entDB">
- <parameter>
- <name>factoryname>
- <value>org.objectweb.jndi.DataSourceFactoryvalue>
- parameter>
- <parameter><name>usernamename><value>govvalue>parameter>
- <parameter><name>passwordname><value>govvalue>parameter>
- <parameter><name>driverClassNamename>
- <value>com.microsoft.jdbc.sqlserver.SQLServerDrivervalue>parameter>
- <parameter><name>urlname>
- <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=govvalue>parameter>
- ResourceParams>
-
- <Resource name="jdbc/smsDB" auth="Container"
- type="javax.sql.DataSource"/>
- <ResourceParams name="jdbc/smsDB">
- <parameter>
- <name>factoryname>
- <value>org.objectweb.jndi.DataSourceFactoryvalue>
- parameter>
- <parameter><name>usernamename><value>govvalue>parameter>
- <parameter><name>passwordname><value>govvalue>parameter>
- <parameter><name>driverClassNamename>
- <value>com.microsoft.jdbc.sqlserver.SQLServerDrivervalue>parameter>
- <parameter><name>urlname> <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=qysmsvalue>parameter>
- ResourceParams>
- <!---->
- use JOTM
- -->
- <Resource name="UserTransaction" auth="Container"
- type="javax.transaction.UserTransaction"/>
- <ResourceParams name="UserTransaction">
- <parameter>
- <name>factoryname>
- <value>org.objectweb.jotm.UserTransactionFactoryvalue>
- parameter>
- <parameter>
- <name>jotm.timeoutname>
- <value>60value>
- parameter>
- ResourceParams>
- Context>
4.换了tomcat5.5 + jdk1.5 继续。(更换后注意配置文件都要跟着变,配置的形式是不一样的)。
xml 代码
- <Context path="" docBase="f:\cvs\entmsg\Root" debug="0">
-
- <Resource name="jdbc/entDB" auth="Container"
- type="javax.sql.DataSource" maxActive="100" maxIdle="30"
- maxWait="10000" username="gov" password="gov"
- driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
- url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=gov;SelectMethod=Cursor"
- factory="org.objectweb.jndi.DataSourceFactory"
- removeAbandoned="true" removeAbandonedTimeout="60"
- logAbandoned="true" />
-
- <Resource name="jdbc/smsDB" auth="Container"
- type="javax.sql.DataSource" maxActive="100" maxIdle="30"
- maxWait="10000" username="gov" password="gov"
- driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
- url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=qysms;SelectMethod=Cursor"
- factory="org.objectweb.jndi.DataSourceFactory"
- removeAbandoned="true" removeAbandonedTimeout="60"
- logAbandoned="true" />
- <Transaction factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
- Context>
5.然后就是让人郁闷的狂报错,Name not found;Can not create instance;...查了半天的资料,原来是jotm在JDK1.5下是不行滴。。。要在JDK1.5下重新编译carol,jotm。
在http://forge.objectweb.org/projects/carol/ 下carol源码.编译后更名为ow_carol。替换原来的ow_carol,jotm.跑了2个测试,有效。当时在用到hibernate的时候不会回滚,原因不明先写下来到此。
分享到:
相关推荐
标题“Tomcat中使用JOTM2.14”指的是在Apache Tomcat服务器中集成并使用JOTM(Java Open Transaction Manager)版本2.14的过程。JOTM是一个开源的事务管理器,用于处理Java应用程序中的ACID(原子性、一致性、隔离性...
此外,"jotm-2.0.11.MR5"目录下可能包含了JOTM的使用文档,这些文档通常会提供详细的安装指南、配置说明、API参考以及示例代码,帮助开发者快速理解和使用JOTM。文档的全面性使得无论是初学者还是经验丰富的开发者都...
jotm.jar jotm.jar jotm.jar jotm.jar
3. jotm.jar:可能是早期版本的JOTM库,或者是特定场景下的使用版本。 4. jts1_0.jar:JTS(Java Transaction Service)1.0版本的实现,它是JTA的扩展,提供更强大的分布式事务支持。 5. xapool.jar:这通常是一个...
描述中的“源文件与目标文件下载”意味着这个压缩包包含了编译JOTM源代码所需的所有文件,以及编译后的二进制目标文件,供用户部署和使用。源代码提供给开发者深入理解JOTM的工作原理,并允许他们根据需要进行定制或...
7. **测试框架和示例**:JOTM源码包通常会包含测试代码,这些代码提供了大量示例,帮助你了解如何在实践中使用JOTM,是学习和调试的好材料。 8. **集成与配置**:学习如何将JOTM集成到常见的Java应用服务器(如...
"所有jtom的使用文档,比较全面"这部分意味着这个压缩包不仅提供了JOTM的可执行代码,还包含了详细的用户指南、API文档、示例代码等,这些文档对于开发者来说至关重要,可以帮助他们理解如何配置和使用JOTM,解决在...
下载的"JOTM.jar"文件即包含了JOTM的全部类和库,是使用JOTM的前提。在项目中引用这个jar包,就可以开始利用JOTM进行事务管理了。记得在应用服务器的配置文件中进行相应的设置,以便于系统能够正确识别和使用JOTM。 ...
JOTM的API文档是开发者的重要参考资料,它详细描述了JOTM提供的各种类和接口,以及如何使用它们来管理事务。通过API,开发者可以了解如何配置和实例化事务管理器,创建和管理事务,以及如何在应用程序中正确地使用...
JOTM(Java Open Transaction Manager)是一款开源的事务管理器,它实现了Java Transaction API (JTA) 和 Java Transaction Service (JTS) 规范,为Java应用程序提供了强大的事务管理功能。本DEMO主要展示了如何在...
本文将深入探讨如何使用Spring、Java Transaction API (JTA) 和 Java Object Transaction Manager (JOTM) 实现多数据源更新的解决方案。 首先,让我们理解什么是多数据源。在传统的单数据源环境中,应用程序通常...
在下载并使用JOTM的jar包时,你需要将其添加到项目的类路径中,这样就可以利用JOTM提供的事务管理服务。 使用JOTM时,你需要配置事务管理器,这通常涉及到以下步骤: 1. 引入JOTM的jar包:将下载的JOTM jar包...
而“jotm-2.0.10”则是JOTM的具体版本,包含其核心组件和必要的依赖,用于在Spring环境中配置和使用JOTM。 为了运行这个示例,你需要将这些jar包添加到你的项目类路径中,然后配置Spring的事务管理器为JOTM,并配置...
本文将深入探讨如何使用JOTM(Java Open Transaction Manager)来实现这样的功能,尤其关注在多数据源环境下的事务协调。 JOTM是Java世界里一个开源的事务管理器,遵循JTA(Java Transaction API)规范,提供了...
本文将详细介绍JOTM的核心功能、如何使用MVN进行编译以及其在分布式事务处理中的应用。 一、JOTM核心功能 1. 分布式事务管理:JOTM遵循JTA(Java Transaction API)标准,能够管理跨多个数据库、消息队列和其他...
本篇文章将聚焦于如何结合Spring和JOTM(Java Open Transaction Manager)来实现多数据源的事务管理,特别是针对使用Hibernate的情况。 JOTM是Java平台上的一个开放源代码事务管理器,它遵循JTA(Java Transaction ...
在Spring中使用JTA和JOTM,首先需要在项目中引入JOTM的依赖。接着,你需要配置Spring的`DefaultJtaPlatform`和`JtaTransactionManager`。`DefaultJtaPlatform`指定了JOTM作为事务管理器,而`JtaTransactionManager`...
在使用JOTM时,开发者需要集成它到自己的应用程序中,通常通过以下步骤: 1. 添加JOTM的依赖库到项目。 2. 配置事务管理器,指定事务策略和资源。 3. 在应用代码中,使用JTA的UserTransaction接口开始、提交或回滚...