2013-08-21 27 views
0

我正在使用wso2esb 4.7.0和ActiveMQ5.8.0,每當我使用wso2esb4.6.0和ActiveMQ5.5.1其工作正常我發佈我的配置下面的任何一個幫助這個 消息存儲JMS不能在Wso2Esb中工作4.7.0

<messageStore xmlns="http://ws.apache.org/ns/synapse" 
        class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore" 
        name="JMSQueue"> 
     <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter> 
     <parameter name="store.jms.cache.connection">false</parameter> 
     <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter> 
     <parameter name="store.jms.JMSSpecVersion">1.1</parameter> 
     <parameter name="store.jms.destination">JMS_Reading_Queue</parameter> 
    </messageStore> 

消息處理器

<messageProcessor xmlns="http://ws.apache.org/ns/synapse" 
        class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor" 
        name="faisal" 
        messageStore="JMSQueue"> 
    <parameter name="max.delivery.attempts">4</parameter> 
    <parameter name="interval">1000</parameter> 
</messageProcessor 

和代理是這樣

<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="Jms" 
     transports="https http jms" 
     startOnLoad="true" 
     trace="disable"> 
    <description/> 
    <target> 
     <inSequence> 
     <property name="messageType" value="application/json" scope="axis2"/> 
     <log level="full"/> 
     <store messageStore="JMSQueue"/> 
     <property name="target.endpoint" 
        value="JmsEndpoint" 
        scope="default" 
        type="STRING"/> 
     </inSequence> 
     <outSequence/> 
    </target> 
</proxy> 

和我定義我的終點在終點

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="JmsEndpoint"> 
    <address uri="http://192.168.1.122:8282/services/ReadingsMobile" 
      format="soap11"/> 
</endpoint> 

現在我沒有得到目標端點的錯誤相同的配置在wso2esb4.6.0工作mbut不wso2esb4.7.0 工作和給予象這樣的錯誤

[2013-08-21 16:48:32,049] WARN - ForwardingHandler Property target.endpoint not found in the message context. Removing the message. 
[2013-08-21 16:49:32,093] WARN - SourceHandler Connection time out after request is read: http-incoming-13 
+0

每次在activemq UI中進入出列模式的消息 –

回答

1

嘗試在代理配置中進行以下修改以擺脫警告;

a)更換<目標>與<目標端點= 「JmsEndpoint」>

B)移動屬性後的 「商店」 標籤輸入你設置 「target.endpoint」。

這些變化似乎在我的環境中伎倆。檢查它是否也解決了您的問題。

希望這會有所幫助。

0

基本上你得到的錯誤說消息處理器無法從存儲的消息上下文中找到target.endpoint屬性。

原因是,您在設置此屬性之前正在存儲消息。

您必須在流中的存儲介體之前設置'target.endpoint'屬性。

代理配置應該看起來像下面一樣。

<proxy xmlns="http://ws.apache.org/ns/synapse" 
    name="Jms" 
    transports="https http jms" 
    startOnLoad="true" 
    trace="disable"> 
    <description/> 
    <target> 
    <inSequence> 
    <property name="messageType" value="application/json" scope="axis2"/> 
    <log level="full"/> 
    <property name="target.endpoint" 
       value="JmsEndpoint" 
       scope="default" 
       type="STRING"/> 
    <store messageStore="JMSQueue"/> 
    </inSequence> 
    <outSequence/> 
    </target> 
</proxy> 
相關問題