2016-06-06 9 views
0

Ich habe eine Route das Frühlings DSL als solcheExtrahieren der Körper aus einer ActiveMQ Nachricht über Camel

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> 
    <route> 
    <from uri="activemq:queue:worker?mapJmsMessage=false" /> 
    <convertBodyTo type="java.lang.String"/> 
    <setHeader headerName="CamelHttpMethod"> 
     <constant>POST</constant> 
    </setHeader> 
    <to uri="http://localhost/queue" /> 
    </route> 
</camelContext> 

Der Nachrichtentyp verwendet, ist ein ActiveMQTextMessage. Ich bin in der Lage, die Nachricht an die HTTP-URL POST, aber was bekomme ich scheine der toString() ausgegeben werden:

ActiveMQTextMessage {commandId = 5, responseRequired = false, message.... 

Ich mag den getText() -Methode auf der ActiveMQTextMessage Instanz anrufen, um den Weg zu füllen , aber ich kann nicht herausfinden, wie man diese Methode nennt. Ich bin mir ziemlich sicher, dass ich das in Code umsetzen kann, aber ich muss alles über XML machen.

Antwort

0

Das Problem herausgefunden. Ich hatte mapJmsMessage = false gesetzt, um eine Ausnahme vor ein paar Tagen zu behandeln. Ich habe es entfernt und plötzlich hat es gut funktioniert.

+0

Sie sollten Ihre eigene Antwort als akzeptiert markieren :) –

+1

Ich muss zwei Tage warten, bevor ich kann –

Verwandte Themen