簡體   English   中英

Weblogic 10.3上的Spring 3.0 messageListener-錯誤“原因:[JMSClientExceptions:055142]國外目標”

[英]Spring 3.0 messageListener on weblogic 10.3 - ERROR “Cause: [JMSClientExceptions:055142]Foreign destination”

我試圖在戰爭中的weblogic 10.3上部署Spring 3.0.5 messageListener,但無法使其正常工作。

我已經在weblogic上創建了一個簡單的jms quque,但看起來weblogic認為我正在嘗試作為外部客戶端進行連接,即使所有內容都是本地的?

[WARN]目標“系統模塊!測試隊列”的JMS消息偵聽器調用程序的設置失敗-嘗試恢復。 原因:[JMSClientExceptions:055142]外部目標,系統模塊!測試隊列

這是我的春季xml

   <!--  connection factory -->
    <jee:jndi-lookup id="jmsConnectionFactory"  jndi-name="weblogic.jms.ConnectionFactory" 
   expose-access-context="true" />

    <!--  weblogic jms queue -->    
    <jee:jndi-lookup id="testQueue" jndi-name="jms.testQueue" expose-access-context="true"/>

    <!--  my onMessage listener bean -->    
    <bean id="jobNotificationQueueListener" class="com.xxx.component.jms.JobNotificationQueueListener" />

    <!--  spring container -->
    <bean id="jobNotificationQueueContainer"
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="jmsConnectionFactory" />
        <property name="destination" ref="testQueue" />
        <property name="messageListener" ref="jobNotificationQueueListener" />
        <property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE" />
        <property name="sessionTransacted" value="true" />
    </bean>

有人看過嗎?

此錯誤消息並不表示您嘗試作為“外部客戶端”進行連接。 WebLogic認為您正在嘗試連接到外部目標,這是不同的。

您要設置哪種類型的隊列? 請嘗試以下操作:1)嘗試瀏覽JNDI樹到目的地以確認其位置並確認類型正確2)確認您已創建JMS服務器並將其定位為有問題的服務器3)確認目標位置正確排隊

更新:我能夠重現並解決此問題。 在我的ApplicationContext文件中,我曾經有以下配置:

  <jee:jndi-lookup id="eventQueue" jndi-name="${jms.event.queue.name}" expose-access-context="true"/>

我將其更改為:

  <jee:jndi-lookup id="eventQueue" jndi-name="${jms.event.queue.name}"/>

現在它運行良好,並且不會不斷拋出該錯誤。

外部JMS在類路徑中需要其客戶端庫(即Websphere MQ將需要mq.jar和另外兩個),然后應配置連接工廠類(否則將使用默認的Weblogic),依此類推。

換句話說,這可能是配置問題,而不是編程問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM