camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: How to get User ID from ActiveMQ to Camel
Date Sun, 28 Jul 2013 10:22:48 GMT
Hi

Ah spotted this, see the source code of
org.apache.camel.component.jms.JmsHeaderFilterStrategy

On Sun, Jul 28, 2013 at 12:21 PM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
> Hi
>
> What version of ActiveMQ and Camel are you using?
>
> And you can enable DEBUG or TRACE logging on
> org.apache.camel.component.jms.EndpointMessageListener
>
> Then Camel should log the receive JMS message. Maybe you can see if it
> contains the user id somewhere.
>
> You can also always get the original javax.jms.Message using a processor / bean
>
> javax.jms.Message jms = exchange.getIn(JmsMessage.class).getJmsMessage();
>
> and then check that original jms message what it contains
>
> On Tue, Jul 23, 2013 at 2:06 PM, Daniel Kleine-Albers
> <daniel.kleine-albers@nowcast.de> wrote:
>> Hi everyone,
>>
>> I'm trying to get the ActiveMQ username of the sender of a particular
>> message into Camel for further processing. However this does not seem to
>> work.
>>
>> I have setup my ActiveMQ broker to populate the JMSXUserID message property.
>>
>>     <broker id="broker" brokerName="kronosBroker" useShutdownHook="false"
>> useJmx="true"
>>                    persistent="true" dataDirectory="activemq-data"
>>                    populateJMSXUserID="true"
>> useAuthenticatedPrincipalForJMSXUserID="true"
>> xmlns="http://activemq.apache.org/schema/core">
>>
>>
>> With debugging enabled I can see that the message contains the userID as
>> expected:
>>
>> 13-07-23 13:46:27,916 [INFO]
>> (org.apache.activemq.broker.util.LoggingBrokerPlugin) - postProcessDispatch
>> :MessageDispatch {commandId = 7, responseRequired = false, consumerId =
>> ID:pc22-37613-1374579904970-3:1:1:1, destination = queue://fromclient,
>> message = ActiveMQBytesMessage {commandId = 6, responseRequired = false,
>> messageId = ID:pc22-37613-1374579904970-6:12:-1:1:2, originalDestination =
>> null, originalTransactionId = null, producerId =
>> ID:pc22-37613-1374579904970-6:12:-1:1, destination = queue://fromclient,
>> transactionId = null, expiration = 0, timestamp = 1374579987913, arrival =
>> 0, brokerInTime = 1374579987913, brokerOutTime = 1374579987914,
>> correlationId = z1hbqqt065, replyTo = null, persistent = false, type = null,
>> priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null,
>> compressed = false, *userID = ws:RoWkBu9W9HrLXyPyOeXLgD3OwtIrW4si*, content
>> = org.apache.activemq.util.ByteSequence@6cb2b9ec, marshalledProperties =
>> null, dataStructure = null, redeliveryCounter = 0, size = 1028, properties =
>> {LMSMessageType=Ping}, readOnlyProperties = true, readOnlyBody = true,
>> droppable = false} ActiveMQBytesMessage{ bytesOut = null, dataOut = null,
>> dataIn = null }, redeliveryCounter = 0}
>>
>>
>> Additionally I have a very short route defined that just logs the message:
>>
>> 13-07-23 13:46:27,918 [INFO] (fromclient) - Exchange[ExchangePattern:InOnly,
>> Properties:{CamelBinding=org.apache.camel.component.jms.JmsBinding@5f41ab78,
>> CamelToEndpoint=log://fromclient?showHeaders=true&showProperties=true,
>> CamelCreatedTimestamp=Tue Jul 23 13:46:27 CEST 2013,
>> CamelExternalRedelivered=false}, Headers:{JMSExpiration=0, JMSPriority=4,
>> JMSReplyTo=null, JMSDeliveryMode=1, JMSDestination=queue://fromclient,
>> JMSRedelivered=false, JMSType=null,
>> JMSMessageID=ID:pc22-37613-1374579904970-6:12:-1:1:2,
>> JMSCorrelationID=z1hbqqt065,
>> breadcrumbId=ID:pc22-37613-1374579904970-6:12:-1:1:2, JMSXGroupID=null,
>> JMSTimestamp=1374579987913}, BodyType:byte[], Body:PING]
>>
>> --> Here I can't see a user ID (I would expect a JMSXUserID header)
>>
>> Do you have any idea on why this could happen?
>>
>>
>> Thanks
>> Daniel
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: cibsen@redhat.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message