JDBC driver does not support XA, hence cannotbe a participant in two-phase commit. 解决办法

在让部署重新搭建weblogic 10后,系统在提交JMS消息是有发现有如下报错:

JDBC driver does not support XA, hencecannot be a participant in two-phase commit. To force this participation, setthe GlobalTransactionsProtocol attribute to LoggingLastResource (recommended)or EmulateTwoPhaseCommit for the Data Source = datasource/pass/eoa9istg/0

       at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1884)

       atweblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:376)

       at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:268)

       atweblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)

       at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:455)

       atweblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:52)

       atcom.paic.pafa.app.biz.action.impl.pafaTxnAction_3r4470_ELOImpl.perform(UnknownSource)

       atsun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)

       atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

       at java.lang.reflect.Method.invoke(Method.java:597)

       at com.paic.pafa.app.lwc.service.remoting.access.ejb.LocalSlsbInvokerInterceptor.invokeInContext(LocalSlsbInvokerInterceptor.java:111)

       atcom.paic.pafa.app.lwc.service.remoting.access.ejb.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:193)

       atcom.paic.pafa.app.lwc.core.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)

       atcom.paic.pafa.app.lwc.core.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:148)

       at $Proxy65.perform(Unknown Source)

       at com.paic.pass.biz.async.TxnPassJob.doAction(TxnPassJob.java:29)

       at com.paic.pass.biz.async.PassJob.execute(PassJob.java:106)

       at org.quartz.core.JobRunShell.run(JobRunShell.java:203)

       at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:596)

Caused by:javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannotbe a participant in two-phase commit. To force this participation, set theGlobalTransactionsProtocol attribute to LoggingLastResource (recommended) orEmulateTwoPhaseCommit for the Data Source = datasource/pass/eoa9istg/0

       atweblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.java:83)

       at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1343)

       atweblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:513)

       atweblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:392)

       at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2633)

       atweblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2281)

       at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:307)

       ... 17 more

.>

javax.ejb.TransactionRolledbackLocalException:Error committing transaction:; nested exception is:javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannotbe a participant in two-phase commit. To force this participation, set theGlobalTransactionsProtocol attribute to LoggingLastResource (recommended) orEmulateTwoPhaseCommit for the Data Source = datasource/pass/eoa9istg/0

javax.transaction.xa.XAException: JDBCdriver does not support XA, hence cannot be a participant in two-phase commit.To force this participation, set the GlobalTransactionsProtocol attribute toLoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source= datasource/pass/eoa9istg/0

       atweblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.java:83)

       atweblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1343)

       atweblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:513)

       atweblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:392)

       at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2633)

       atweblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2281)

       atweblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:307)

        atweblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:268)

       atweblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)

       at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:455)

       atweblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:52)

       atcom.paic.pafa.app.biz.action.impl.pafaTxnAction_3r4470_ELOImpl.perform(UnknownSource)

       at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)

       atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

       at java.lang.reflect.Method.invoke(Method.java:597)

       at com.paic.pafa.app.lwc.service.remoting.access.ejb.LocalSlsbInvokerInterceptor.invokeInContext(LocalSlsbInvokerInterceptor.java:111)

       atcom.paic.pafa.app.lwc.service.remoting.access.ejb.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:193)

       atcom.paic.pafa.app.lwc.core.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)

       atcom.paic.pafa.app.lwc.core.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:148)

       at $Proxy65.perform(Unknown Source)

       at com.paic.pass.biz.async.TxnPassJob.doAction(TxnPassJob.java:29)

       at com.paic.pass.biz.async.PassJob.execute(PassJob.java:106)

       at org.quartz.core.JobRunShell.run(JobRunShell.java:203)

       at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:596)

javax.ejb.TransactionRolledbackLocalException:Error committing transaction:; nested exception is:javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannotbe a participant in two-phase commit. To force this participation, set theGlobalTransactionsProtocol attribute to LoggingLastResource (recommended) orEmulateTwoPhaseCommit for the Data Source = datasource/pass/eoa9istg/0

       at weblogic.ejb.container.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:240)

       atweblogic.ejb.container.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:138)

       atweblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:650)

       atweblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:455)

       atweblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:52)

       atcom.paic.pafa.app.biz.action.impl.pafaTxnAction_3r4470_ELOImpl.perform(UnknownSource)

       at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)

       atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

       at java.lang.reflect.Method.invoke(Method.java:597)

       atcom.paic.pafa.app.lwc.service.remoting.access.ejb.LocalSlsbInvokerInterceptor.invokeInContext(LocalSlsbInvokerInterceptor.java:111)

       at com.paic.pafa.app.lwc.service.remoting.access.ejb.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:193)

       atcom.paic.pafa.app.lwc.core.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)

       at com.paic.pafa.app.lwc.core.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:148)

       at $Proxy65.perform(Unknown Source)

       at com.paic.pass.biz.async.TxnPassJob.doAction(TxnPassJob.java:28)

       at com.paic.pass.biz.async.PassJob.execute(PassJob.java:104)

        atorg.quartz.core.JobRunShell.run(JobRunShell.java:202)

       atorg.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:596)

Caused by:javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannotbe a participant in two-phase commit. To force this participation, set theGlobalTransactionsProtocol attribute to LoggingLastResource (recommended) orEmulateTwoPhaseCommit for the Data Source = datasource/pass/eoa9istg/0

       at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.java:83)

       atweblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1343)

       atweblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:513)

       at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:392)

       atweblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2633)

       at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2281)

       atweblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:307)

       atweblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:268)

       atweblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:623)

       atweblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:455)

       at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:52)

       atcom.paic.pafa.app.biz.action.impl.pafaTxnAction_3r4470_ELOImpl.perform(UnknownSource)

       at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

       at java.lang.reflect.Method.invoke(Method.java:597)

       atcom.paic.pafa.app.lwc.service.remoting.access.ejb.LocalSlsbInvokerInterceptor.invokeInContext(LocalSlsbInvokerInterceptor.java:111)

       atcom.paic.pafa.app.lwc.service.remoting.access.ejb.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:193)

       atcom.paic.pafa.app.lwc.core.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)

       atcom.paic.pafa.app.lwc.core.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:148)

       at $Proxy65.perform(Unknown Source)

       at com.paic.pass.biz.async.TxnPassJob.doAction(TxnPassJob.java:29)

       at com.paic.pass.biz.async.PassJob.execute(PassJob.java:106)

       at org.quartz.core.JobRunShell.run(JobRunShell.java:203)

       ... 1 more

2013-05-27 09:51:13.075 [ERROR] Errorcommitting transaction:; nested exception is: javax.transaction.xa.XAException:JDBC driver does not support XA, hence cannot be a participant in two-phasecommit. To force this participation, set the GlobalTransactionsProtocolattribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for theData Source = datasource/pass/eoa9istg/0

2013-05-27 09:51:13.076 [ERROR]com.paic.pass.biz.async.PassJob:execute,PassJob.java:115

2013-05-27 09:51:13.076 [ERROR]org.quartz.core.JobRunShell:run,JobRunShell.java:202

2013-05-27 09:51:13.076 [ERROR]org.quartz.simpl.SimpleThreadPool$WorkerThread:run,SimpleThreadPool.java:596

2013-05-27 09:51:13.076 [ERROR] ...

2013-05-27 09:51:13.076 [DEBUG] job over!2013-05-27 09:51:13 > DefaultQuartzScheduler_Worker-13

 

2013-05-27 09:51:18.002 [DEBUG] threadName:Pooled Threads:DefaultQuartzScheduler_Worker-15

2013-05-27 09:51:18.002 [DEBUG]oas-csms10SF4543isRunJobFlag

2013-05-27 09:51:18.002 [DEBUG]oas-csms10SF4543isRunJobFlag

2013-05-27 09:51:18.002 [DEBUG] actionName= dispenseRequestAction,isRunJobFlag= oas-csms10SF4543 服务器运行

2013-05-27 09:51:18.003 [DEBUG] 进入com.paic.pass.biz.async.DispenseRequestJob

2013-05-27 09:51:18.003 [DEBUG]com.paic.pass.biz.async.DispenseRequestJob job time begin.



 后来经过分析发现是JMS 连接工厂配置有问题,取消勾选 “已启用 XA 连接工厂” 后问题解决。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值