转载:http://www.blogjava.net/daqiangkang/archive/2008/06/27/211177.html
[12/13/07 10:09:05:171 CST] 000002d6 RegisteredRes E WTRN0078E: An attempt by the transaction manager to call
start on a transactional resource has resulted in an error. The error code was XAER_RMERR. The exception stack trace
follows: oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1223)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:318)
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.start(WSRdbXaResourceImpl.java:1324)
at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1467)
at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:141)
at com.ibm.ws.Transaction.JTA.RegisteredResources.startRes(RegisteredResources.java:1103)
at com.ibm.ws.Transaction.JTA.RegisteredResources.enlistResource(RegisteredResources.java:525)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:3219)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:396)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:693)
at com.ibm.ejs.j2c.ConnectionManager.lazyEnlist(ConnectionManager.java:1747)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.lazyEnlist(WSRdbManagedConnectionImpl.java:2112)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:600)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:2014)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1969)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:497)
at org.hibernate.jdbc.AbstractBatcher.prepareSelectStatement(AbstractBatcher.java:123)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:73)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId
(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient
(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate
(DefaultSaveOrUpdateEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate
(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:684)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:681)
at com.mangocity.pay.log.dao.PayLogDaoImpl.save(PayLogDaoImpl.java:16)
该错误是因为事务管理程序不能将事务转换为XA事务。Oracle 明确的返回错误 XAER_RMERR ,错误代码编号为 65535。 ORA-65535
不是一个有效错误代码,并且 XAER_RMERR 实质上意味着 XA 发生了某些错误。这说明您的 Oracle 数据库没有被配置为支持 XA 事
务。因此,当 WebSphere Application Server 事务管理程序命令 Oracle 事务管理程序参与这个 XA 事务时,Oracle 拒绝该命令
并抛出这个异常。解决方法是运行 Oracle 安装中包含的两个脚本。这很可能需要通过您的 Oracle DBA 来执行,您必须以 SYSOPER
或 SYSDBA 身份登录到 Oracle,以拥有足够的权限来运行这些脚本。这些脚本是:directory: <ORACLE_HOME>\javavm\install、
file: initxa.sql、file: initjvm.sql、initxa.sql 脚本配置 XA 数据库。一旦它成功运行,您的数据库就被配置为 XA。该脚本
在您第一次运行的时候可能成功。不幸的是由于一些数据库的内存空间太小,该脚本也可能无法成功运行。为修改该问题,运行
initjvm.sql 脚本。它可能也会运行失败,但是在失败时,该脚本会说明哪个参数需要调整。参数被保存在该文件中:directory:
<ORACLE_HOME>\database,file: init<DATABASE_SID>.ora,这个表说明了有两个参数的值特别需要增大。对于特定的数据库配置可
能需要调整不同的参数。
Oracle Initialization Values
Parameter Name Minimum Value
java_pool_size 12000000
shared_pool_size 24000000
一旦 initjvm.sql 运行成功,则 initxa.sql 就应该也可以成功运行。Oracle 数据库需要重新启动,以使修改生效。您可以重新启
动 WebSphere Studio 测试服务器并重新尝试运行该范例。
分享到:
相关推荐
JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。 要用 JTA 进行事务界定,应用程序要调用 javax.transaction.UserTransaction 接口中的方法。
JDBC事务和JTA(XA)事务
Spring+iBatis+JOTM实现JTA事务: 如何处理跨库事物:spring + jtom 的jta事务是个很好的选择. 这个源码示例非常不错,包括所有的源码和jar包,下载后eclipse 或 myeclipse 导入就能用。 里面有详细的说明和注释,...
在tomcat 中配置JTA 事务,方便管理web项目
1.利用mina框架重构api,脱离了web应用服务器resin,而原api的jta事务由resin支持,故需要用其他支持jta事务的工具重新配置。在支持jta事务的工具中选择了atomikos 2.Api的数据库连接配置参数没有类似:testQuery的...
在Spring中使用JTA事务管理 1 通过集成JOTM,直接在Spring中使用JTA事务 1.1. 将JOTM以下类库添加到类路径中 1.2. 编写JOTM配置文件,放到类路径下 1.3. 在MySQL上建立两个数据库 1.4. 在Spring配置文件中配置JOTM ...
有关JDBC事务 JTA事务 传播特性 隔离级别等等
2.Spring+Jotm整合实现JTA分布式事务,应用场景如转账等,同一事务内完成db1用户加100元、db2用户减100元。 3.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 (特别注意:Spring3.0里不在提供对jotm的...
JTA配置文件请看applicationContext-jta.xml 博文链接:https://liran-email.iteye.com/blog/227990
JTA分布式事务处理多数据事务问题的示例代码。
SpringBoot集成Atomikos使用Oracle数据库mybatisSpringBoot集成Atomikos使用Oracle数据库mybatisSpringBoot集成Atomikos使用Oracle数据库mybatisSpringBoot集成Atomikos使用Oracle数据库mybatis
Spring+iBatis+JOTM实现JTA事务
例子虽小,可覆盖面广,设计spring载入.properties文件,spring配置jta和jotm分布式事务,设置数据源连接池,注解事务驱动。功能是在mysql上建立了两个数据库分别为dbone和dbtwo,在dbone里有表tb1,表中只有一个字段...
myeclipse开发,导入即可用,可以参阅http://www.cnblogs.com/shamo89/p/7326718.html
NULL 博文链接:https://malixxx.iteye.com/blog/560727
Spring Boot+Druid+Mybatis实现JTA分布式事务
spring + JTA + JOTM实现分布式事务, 高大上的技术
spring+jms+jta事务的消息发送和消息消费。 完整可正常运行例子,对JTA分布式事务的配置。 本例可以直接作为处理消息的项目,在此之上直接继续开发。
代码下载下来,想要了解更多相关内容可以看http://www.cnblogs.com/shamo89/p/7307961.html