【问题标题】:WebSphere app fails to start with JMS QueueWebSphere 应用程序无法使用 JMS 队列启动
【发布时间】:2014-02-05 19:12:12
【问题描述】:

我有一个在 JBoss AS7 上运行的应用程序,但我们有一个运行 WAS 的客户端,并且过去运行过一个“端口”,现在是时候再次验证 WAS 上的 EAR 并且应用程序在启动时会爆炸以下错误:

[1/16/14 11:04:29:209 EST] 0000000b ActivationSpe E   J2CA0138E: The Message Endpoint activation failed for ActivationSpec jms/TRECS_INVC_ESCROW_ANALYSIS_ActivationSpec    (com.ibm.ws.sib.api.jmsra.impl.JmsJcaActivationSpecImpl) and MDB application TRecsEnterprise#lib/tee-invoicing.jar#EscrowAnalysisConsumer due to the following exception: javax.resource.NotSupportedException: CWSIV0757E: The destination TRECS_INVC_ESCROW_ANALYSIS_QUEUE) on bus TRecsBus was not found.
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.validateDestination(SibRaCommonEndpointActivation.java:1657)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.access$800(SibRaCommonEndpointActivation.java:122)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation$PointToPointStrategy.connectToLocalMEs(SibRaCommonEndpointActivation.java:1947)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.connectToLocalMEs(SibRaCommonEndpointActivation.java:532)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaColocatingEndpointActivation.connectToLocalMEs(SibRaColocatingEndpointActivation.java:148)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.connect(SibRaCommonEndpointActivation.java:482)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.checkMEs(SibRaCommonEndpointActivation.java:367)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.timerLoop(SibRaCommonEndpointActivation.java:326)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.<init>(SibRaCommonEndpointActivation.java:284)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaColocatingEndpointActivation.<init>(SibRaColocatingEndpointActivation.java:88)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaResourceAdapterImpl.endpointActivation(SibRaResourceAdapterImpl.java:369)
    at com.ibm.ejs.j2c.ActivationSpecWrapperImpl.activateUnderRAClassLoaderContext(ActivationSpecWrapperImpl.java:642)
    at com.ibm.ejs.j2c.ActivationSpecWrapperImpl.activateEndpoint(ActivationSpecWrapperImpl.java:358)
    at com.ibm.ejs.j2c.RAWrapperImpl.activateEndpoint(RAWrapperImpl.java:1097)
    at com.ibm.ejs.j2c.RALifeCycleManagerImpl.activateEndpoint(RALifeCycleManagerImpl.java:1742)
    at com.ibm.ejs.container.MessageEndpointFactoryImpl.activateEndpoint(MessageEndpointFactoryImpl.java:296)
    at com.ibm.ws.runtime.component.EJBContainerImpl.startMDBs(EJBContainerImpl.java:5370)
    at com.ibm.ws.runtime.component.WASEJBRuntimeImpl.startMDBs(WASEJBRuntimeImpl.java:297)
    at com.ibm.ws.ejbcontainer.runtime.AbstractEJBRuntime.startModule(AbstractEJBRuntime.java:878)
    at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:3588)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1163)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1369)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:967)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:769)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2160)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5468)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5594)
    at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2165)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:446)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:117)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:995)
    at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:496)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1700)
Caused by: com.ibm.ws.sib.admin.SIBExceptionDestinationNotFound: TRECS_INVC_ESCROW_ANALYSIS_QUEUE)
    at com.ibm.ws.sib.admin.impl.JsDestinationCache.getSIBDestination(JsDestinationCache.java:555)
    at com.ibm.ws.sib.admin.impl.BaseMessagingEngineImpl.getSIBDestination(BaseMessagingEngineImpl.java:1524)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaCommonEndpointActivation.validateDestination(SibRaCommonEndpointActivation.java:1581)
    ... 36 more

这表明队列不在总线上,但是当我查看管理控制台和服务器配置时它就在那里。这是 sib-destinations.xml 中的相关行:

  <sibresources:SIBQueue xmi:id="SIBQueue_1389887701656" identifier="TRECS_INVC_ESCROW_ANALYSIS_QUEUE" uuid="0485391EEB9BFABAC23D25E8" overrideOfQOSByProducerAllowed="true" exceptionDestination="$DEFAULT_EXCEPTION_DESTINATION" sendAllowed="true" receiveAllowed="true">
<localizationPointRefs xmi:id="SIBLocalizationPointRef_1389887701661" node="devredhat58-01Node01" server="server1" engineUuid="11CD8C2A94C906C7"/>

我查看了 FFDC,它们实际上只是堆栈跟踪,没有真正的帮助。

我相当肯定这是一个配置问题,只是不知道在哪里查看。

【问题讨论】:

    标签: jms websphere


    【解决方案1】:

    WebSphere AS 中的队列或主题必须与 SiBus 目标相关联。 您需要为队列创建目的地:

    1. 为您的目的地查找/创建 SiBus
    2. 选择目的地
    3. 创建新的队列目标

    创建目的地后,您必须将其与您的 JMS 队列相关联:

    1. 打开 JMS 资源
    2. 找到您的队列
    3. 选择 SiBus
    4. 选择创建的目的地

    【讨论】:

    • 我不确定我理解你的意思,你能详细说明一下吗?
    • 好的,我实际上拥有所有这些,但是我继承的脚本在队列名称中有一个小错字。因此,虽然您的答案本身不是答案,但按照您的步骤,我可以找到它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    相关资源
    最近更新 更多