[英]WebLogic 10.3 Deployment Errors (WebApp 3.0 / Spring 4 MVC / Hibernate application)
[英]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.