2012-11-02 31 views
0

我已經得到了騾子的簡單設置。從JMS隊列處理消息中讀取並在發送到DLQ的異常情況下。用Mule 3.3.0和HornetQ 2.3.0.BETA1。我得到以下異常:入站和出站JMS隊列騾類鑄造

Caused by: java.lang.ClassCastException: org.mule.transport.jms.ReusableTopicSessionWrapper cannot be cast to javax.jms.QueueSession 
    at org.mule.transport.jms.Jms102bSupport.createDestination(Jms102bSupport.java:231) 
    at org.mule.transport.jms.Jms11Support.createDestination(Jms11Support.java:142) 
    at org.mule.transport.jms.JmsMessageDispatcher.dispatchMessage(JmsMessageDispatcher.java:163) 
    at org.mule.transport.jms.JmsMessageDispatcher.doDispatch(JmsMessageDispatcher.java:81) 
    at org.mule.transport.AbstractMessageDispatcher.process(AbstractMessageDispatcher.java:99) 
    ... 113 more 

我的設置:

<jms:connector name="connector.jms" maxRedelivery="10" doc:name="JMS" 

     jndiInitialFactory="org.jnp.interfaces.NamingContextFactory" 
     jndiProviderUrl="jnp://localhost:1099" 
     connectionFactoryJndiName="ConnectionFactory" 
     createMultipleTransactedReceivers="true" 
     numberOfConcurrentTransactedReceivers="100" 
     acknowledgementMode="AUTO_ACKNOWLEDGE"> 
    <reconnect-forever frequency="5000"/>  
</jms:connector> 
<flow name="jmsListenerFlow1" doc:name="jmsListenerFlow1"> 
    <jms:inbound-endpoint queue="adsLogQueue" connector-ref="connector.jms" doc:name="JMS"> 
     <jms:transaction action="ALWAYS_BEGIN"/> 
    </jms:inbound-endpoint> 
    <component > 
     <spring-object bean="logSaver"/> 
    </component> 
    <catch-exception-strategy> 
     <jms:outbound-endpoint queue="DLQ"> <!-- [2] --> 
      <jms:transaction action="ALWAYS_JOIN" /> 
     </jms:outbound-endpoint>    
    </catch-exception-strategy> 
</flow> 

難道是錯誤的騾子本身?或者我做錯了什麼?

+0

我刪除了hornetq標籤,因爲我在該問題上沒有看到與hornetq相關的任何內容。只是騾子。雖然hornetq被使用,但這不是問題的一部分。 –

回答

0

jms:connector上設置specification="1.1"

+0

謝謝我剛剛發現它:) –