我们正在Weblogic上使用分布式JMS,有时会发生ResourceAccessException。我们尝试删除文件存储,重新启动服务器并将JTA超时更改为300秒。 (默认值为30秒)。

但是我们遇到了同样的错误。可能是什么原因?

谢谢

Caused by: javax.transaction.SystemException: start() failed on resource 'WLStore_COLUMBUS-ADA-PROD-DMN_ColumbusADAFileStore': XAER_RMERR : A resource manager error has occured in the transaction branch
    weblogic.transaction.internal.ResourceAccessException: Transaction has timed out when making request to XAResource 'WLStore_COLUMBUS-ADA-PROD-DMN_ColumbusADAFileStore'.
    at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:670)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1230)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1164)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:296)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:522)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:449)
    at weblogic.store.gxa.internal.GXAResourceImpl.enlist(GXAResourceImpl.java:442)
    at weblogic.messaging.kernel.internal.KernelImpl.getGXATransaction(KernelImpl.java:570)
    at weblogic.messaging.kernel.internal.QueueImpl.send(QueueImpl.java:329)
    at weblogic.jms.backend.BEDestinationImpl.sendIssueMessage(BEDestinationImpl.java:1873)
    at weblogic.jms.backend.BEDestinationImpl.send(BEDestinationImpl.java:2108)
    at weblogic.jms.backend.BEDestinationImpl.wrappedSend(BEDestinationImpl.java:2051)
    at weblogic.jms.backend.BEDestinationImpl.invoke(BEDestinationImpl.java:1539)
    at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsyncInternal(DispatcherImpl.java:139)
    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:115)
    at weblogic.messaging.dispatcher.Request.dispatchAsync(Request.java:1303)
    at weblogic.jms.dispatcher.Request.dispatchAsync(Request.java:96)
    at weblogic.jms.frontend.FEProducer.doDispatch(FEProducer.java:888)
    at weblogic.jms.frontend.FEProducer.sendRetryDestination(FEProducer.java:1021)
    at weblogic.jms.frontend.FEProducer.send(FEProducer.java:1405)
    at weblogic.jms.frontend.FEProducer.invoke(FEProducer.java:1466)
    at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
    at weblogic.messaging.dispatcher.DispatcherImpl.syncRequest(DispatcherImpl.java:184)
    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSyncNoTran(DispatcherImpl.java:287)
    at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:59)
    at weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1293)
    at weblogic.jms.client.JMSProducer.deliveryInternal(JMSProducer.java:796)
    at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:541)
    at weblogic.jms.client.JMSProducer.sendWithListener(JMSProducer.java:394)
    at weblogic.jms.client.JMSProducer.send(JMSProducer.java:384)
    at weblogic.jms.client.WLProducerImpl.send(WLProducerImpl.java:970)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:569)
    at org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:546)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
    at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:543)
    at com.turkcellteknoloji.calypso.jms.SendToJms.insertJms(SendToJms.java:35)
    at com.turkcellteknoloji.calypso.action.impl.SentTransactionToJms.execute(SentTransactionToJms.java:15)
    at com.turkcellteknoloji.calypso.service.impl.Service.execute(Service.java:36)
    at com.turkcellteknoloji.calypso.service.impl.JmsService.onMessage(JmsService.java:21)
    at com.turkcellteknoloji.calypso.service.impl.JmsService.onMessage(JmsService.java:12)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:534)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:495)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:977)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:969)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:871)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: weblogic.transaction.internal.TimedOutException: Transaction has timed out when making request to XAResource 'WLStore_COLUMBUS-ADA-PROD-DMN_ColumbusADAFileStore'.
    at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:673)
    ... 50 more

    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1188)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:296)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:522)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:449)
    at weblogic.store.gxa.internal.GXAResourceImpl.enlist(GXAResourceImpl.java:442)
    ... 44 more

最佳答案

您是否尝试过更改“同步写策略”?它会影响JMS文件存储的性能,可伸缩性和可靠性。

10-04 13:49