首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Weblogic文件存储,发出请求时事务已超时

Weblogic文件存储,发出请求时事务已超时
EN

Stack Overflow用户
提问于 2011-12-18 18:00:25
回答 2查看 7.6K关注 0票数 5

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

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

谢谢

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2014-08-01 23:13:13

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

票数 2
EN

Stack Overflow用户

发布于 2021-02-17 22:35:44

添加在Weblogic托管应用程序中发现的类似问题时,堆栈跟踪几乎或没有任何原因都会失败:

代码语言:javascript
复制
Caused by: weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
    at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
    at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncTran(DispatcherAdapter.java:53)
    at weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1300)
    at weblogic.jms.client.JMSProducer.deliveryInternal(JMSProducer.java:807)
    at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:543)
    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 weblogic.deployment.jms.WrappedMessageProducer.send(WrappedMessageProducer.java:188)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:626)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:597)
    at org.springframework.jms.core.JmsTemplate$3.doInJms(JmsTemplate.java:562)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:484) 

在可用信息很少的情况下,遵循一些其他建议来重新创建可能已损坏的JMS数据存储。

在我们的示例中,位于此处:

..fmw_home/user_projects/domains/ipp_domain/servers/myapplicationName/data/store/default -文件名WLS******.DAT

建议正常关闭以允许解决尽可能多的消息,然后在删除文件之前关闭应用程序和Weblogic Server (建议进行备份)。

重新启动后,这些问题消失了,也没有记录更多的错误,但我不确定是什么原因。您可能不得不接受JMS队列中的任何事务性数据都将丢失的事实。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8550999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档