camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From preben <p...@dr.dk>
Subject Re: wiretap getting header value
Date Wed, 20 Jan 2010 14:34:11 GMT

Thanks for the help.

For now I'll stick to using Exchange directly - this works.
Using camel annotations in combination with Spring seems not to work. I'll
try to create a JIRA tomorrow, but I haven't the time to construct a test
case. Sorry.

Preben


Claus Ibsen-2 wrote:
> 
> On Wed, Jan 20, 2010 at 2:04 PM, preben <pras@dr.dk> wrote:
>>
>> The auditmessageDAO is not defined in xml but using @Repository
>> annotation
>> and is picked up by Spring douring initializing of the
>> applicationContext.
>> Is there a issue regarding this ? should it be defined in XML instead
>> (Camel
>> + Spring dependencies)
>> The funny thing is thoug that the body gets bound with fine xml payload
>> but
>> the header param is missing.
>>
> 
> The first parameter will fallback to be the body so I suspect Camel
> did not have a chance to leverage its post processor as well to bind
> the annotations.
> 
> You are much welcome to put together a little zip file with a sample
> of this issue. Then create a ticket in JIRA. Then we can take a look
> if there is something we can do/improve/fix etc. to get that situation
> working as well.
> 
> Try defining the bean using <bean/> or the
> <context-annotation:driven/> (or what that spring tag is called).
> 
> And you are also welcome to try with 2.2-SNAPSOHT whether that should
> help. However I dont think we have changed much in that area.
> 
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> On Wed, Jan 20, 2010 at 1:46 PM, preben <pras@dr.dk> wrote:
>>>>
>>>> Actually I was looking for JMSMessageID like this
>>>> @Header(value="JMSMessageID") String jmsMessageId, but when that didn't
>>>> work
>>>> i changed it to @Headers Map to see if I get any values.
>>>> The parameter get's bound as null !!
>>>
>>> And how is auditMessageDAO defined in the XML file?
>>>
>>> Those annotations only work if the Spring bean post processor does it
>>> job and let Camel have a chance later.
>>> There used to be some more weird combos where Spring failed to do so.
>>>
>>> It will log a INFO/WARN about bean XXX is illegible for bean post
>>> processing or something like that.
>>>
>>> You can always use Exchange or Message as the type and get the data,
>>> but I understand if you want to use a clean POJO without using Camel
>>> API in the method signature.
>>>
>>> You can try a simpler example to get the POJO stuff working without
>>> the JMS etc. Then you know that Spring + Camel works as expected.
>>>
>>>
>>>
>>>>
>>>>
>>>> Claus Ibsen-2 wrote:
>>>>>
>>>>> Hi
>>>>>
>>>>> So which headers are you looking for to be in the audit bean?
>>>>> You do not have any custom JMS properties, only the regular JMS
>>>>> headers.
>>>>>
>>>>> And you are saying that Map instance is empty? or is it null?
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jan 20, 2010 at 12:26 PM, preben <pras@dr.dk> wrote:
>>>>>>
>>>>>> Im using camel v. 2.1.0 Sure the 2nd route says:
>>>>>> [Camel thread 0: seda://audit] 20 jan. 2010 - 12:22:09,858 INFO
>>>>>> org.apache.camel.processor.interceptor.Tracer
>>>>>> [42a5443b-0a62-4477-885f-c6f6c40274b1 >>> (AuditRoute)
>>>>>> from(seda://audit)
>>>>>> --> ref:auditMessageDAO method: audit <<< Pattern:InOnly,
>>>>>> Headers:{JMSDestination=PLAYLISTE.FURTHERELEMENTS_TEST,
>>>>>> JMS_OracleDelay=0,
>>>>>> JMSDeliveryMode=2, JMSRedelivered=true,
>>>>>> JMS_OracleTimestamp=1263986526156,
>>>>>> JMSType=null, JMSCorrelationID=null, JMSXRecvTimestamp=1263986529858,
>>>>>> JMSXState=0, JMSXDeliveryCount=2,
>>>>>> JMSMessageID=ID:7D97CBE346B7CAA2E040650A0A103AC2,
>>>>>> JMSTimestamp=1263986526156, JMSPriority=1, JMSXGroupID=null,
>>>>>> JMS_OracleDeliveryMode=2, JMSXUserID=playliste, JMSExpiration=0,
>>>>>> JMSReplyTo=null}, BodyType:byte[], Body:<?xml version="1.0"
>>>>>> encoding="UTF-8"
>>>>>> standalone="yes"?><Publication><sourceURL>whatson/133258748813</sourceURL><Element><dataProvider>M</dataProvider><relStartTime>0</relStartTime><duration>1340</duration><title>Unittest
>>>>>> record
>>>>>> title</title><countryOrigin>31</countryOrigin><countryConnection>0</countryConnection><musaNo>123609030081111</musaNo><side>1</side><cut>1</cut><partcut>-1</partcut><musaComplete>J</musaComplete><drProduction>J</drProduction><recordingDate>2009-08-20</recordingDate><recordLabel>Unittest
>>>>>> record title</recordLabel><recordTitle>Unittest record
>>>>>> title</recordTitle><Names><Name><name>DR
>>>>>> SymfoniOrkestret</name><country>7</country><role>Gruppe/Solist</role><salesArtist>N</salesArtist></Name><Name><name>Thomas
>>>>>> Dausgaard</name><country>7</country><role>Gruppe/Solist</role><salesArtist>J</salesArtist></Name><Name><name>César
>>>>>> Franck</name><country>10</country><role>Komponist</role><salesArtist>N</salesArtist></Name></Names></Element></Publication>]
>>>>>>
>>>>>>
>>>>>> Claus Ibsen-2 wrote:
>>>>>>>
>>>>>>> What does the tracer say in the 2nd route?
>>>>>>>
>>>>>>> camel:route id="AuditRoute">
>>>>>>>                        <camel:from uri="seda:audit"/>
>>>>>>>                        <camel:bean ref="auditMessageDAO"
>>>>>>> method="audit"/>
>>>>>>>
>>>>>>> eg from seda:audit -> auditMessageDAO
>>>>>>> this is the interesting part
>>>>>>>
>>>>>>> BTW which version of Camel are you using?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 20, 2010 at 11:49 AM, preben <pras@dr.dk> wrote:
>>>>>>>>
>>>>>>>> Hi Claus
>>>>>>>>
>>>>>>>> Seems that the headers are present even on the wiretap endpoint.
>>>>>>>> :
>>>>>>>> [DefaultMessageListenerContainer-1] 20 jan. 2010 - 11:44:01,614
>>>>>>>> INFO
>>>>>>>> org.apache.camel.processor.interceptor.Tracer
>>>>>>>> [ID:7D97437F084F8E83E040650A0A1027E5 >>> (RapNotificationRoute)
>>>>>>>> from(oracleQueue://queue:FURTHERELEMENTS_TEST?jmsMessageType=Text)
>>>>>>>> -->
>>>>>>>> transacted[ref:PROPAGATION_REQUIRED] <<< Pattern:InOnly,
>>>>>>>> Headers:{JMSXGroupID=null, JMSReplyTo=null,
>>>>>>>> JMSMessageID=ID:7D97437F084F8E83E040650A0A1027E5, JMSPriority=1,
>>>>>>>> JMSCorrelationID=null, JMSXRecvTimestamp=1263984241614,
>>>>>>>> JMSRedelivered=true,
>>>>>>>> JMSXState=0, JMSType=null, JMSExpiration=0,
>>>>>>>> JMSTimestamp=1263984237832,
>>>>>>>> JMSXUserID=playliste,
>>>>>>>> JMSDestination=PLAYLISTE.FURTHERELEMENTS_TEST,
>>>>>>>> JMS_OracleTimestamp=1263984237832, JMSDeliveryMode=2,
>>>>>>>> JMS_OracleDeliveryMode=2, JMS_OracleDelay=0, JMSXDeliveryCount=2},
>>>>>>>> BodyType:byte[], Body:<?xml version="1.0" encoding="UTF-8"
>>>>>>>> standalone="yes"?><Publication><sourceURL>whatson/133258748813</sourceURL><Element><dataProvider>M</dataProvider><relStartTime>0</relStartTime><duration>1340</duration><title>Unittest
>>>>>>>> record
>>>>>>>> title</title><countryOrigin>31</countryOrigin><countryConnection>0</countryConnection><musaNo>123609030081111</musaNo><side>1</side><cut>1</cut><partcut>-1</partcut><musaComplete>J</musaComplete><drProduction>J</drProduction><recordingDate>2009-08-20</recordingDate><recordLabel>Unittest
>>>>>>>> record title</recordLabel><recordTitle>Unittest
record
>>>>>>>> title</recordTitle><Names><Name><name>DR
>>>>>>>> SymfoniOrkestret</name><country>7</country><role>Gruppe/Solist</role><salesArtist>N</salesArtist></Name><Name><name>Thomas
>>>>>>>> Dausgaard</name><country>7</country><role>Gruppe/Solist</role><salesArtist>J</salesArtist></Name><Name><name>César
>>>>>>>> Franck</name><country>10</country><role>Komponist</role><salesArtist>N</salesArtist></Name></Names></Element></Publication>]
>>>>>>>>
>>>>>>>> [DefaultMessageListenerContainer-1] 20 jan. 2010 - 11:44:01,614
>>>>>>>> INFO
>>>>>>>> org.apache.camel.processor.interceptor.Tracer
>>>>>>>> [ID:7D97437F084F8E83E040650A0A1027E5 >>> (RapNotificationRoute)
>>>>>>>> transacted[ref:PROPAGATION_REQUIRED] --> wireTap(seda://audit)
<<<
>>>>>>>> Pattern:InOnly, Headers:{JMSXGroupID=null, JMSReplyTo=null,
>>>>>>>> JMSMessageID=ID:7D97437F084F8E83E040650A0A1027E5, JMSPriority=1,
>>>>>>>> JMSCorrelationID=null, JMSXRecvTimestamp=1263984241614,
>>>>>>>> JMSRedelivered=true,
>>>>>>>> JMSXState=0, JMSType=null, JMSExpiration=0,
>>>>>>>> JMSTimestamp=1263984237832,
>>>>>>>> JMSXUserID=playliste,
>>>>>>>> JMSDestination=PLAYLISTE.FURTHERELEMENTS_TEST,
>>>>>>>> JMS_OracleTimestamp=1263984237832, JMSDeliveryMode=2,
>>>>>>>> JMS_OracleDeliveryMode=2, JMS_OracleDelay=0, JMSXDeliveryCount=2},
>>>>>>>> BodyType:byte[], Body:<?xml version="1.0" encoding="UTF-8"
>>>>>>>> standalone="yes"?><Publication><sourceURL>whatson/133258748813</sourceURL><Element><dataProvider>M</dataProvider><relStartTime>0</relStartTime><duration>1340</duration><title>Unittest
>>>>>>>> record
>>>>>>>> title</title><countryOrigin>31</countryOrigin><countryConnection>0</countryConnection><musaNo>123609030081111</musaNo><side>1</side><cut>1</cut><partcut>-1</partcut><musaComplete>J</musaComplete><drProduction>J</drProduction><recordingDate>2009-08-20</recordingDate><recordLabel>Unittest
>>>>>>>> record title</recordLabel><recordTitle>Unittest
record
>>>>>>>> title</recordTitle><Names><Name><name>DR
>>>>>>>> SymfoniOrkestret</name><country>7</country><role>Gruppe/Solist</role><salesArtist>N</salesArtist></Name><Name><name>Thomas
>>>>>>>> Dausgaard</name><country>7</country><role>Gruppe/Solist</role><salesArtist>J</salesArtist></Name><Name><name>César
>>>>>>>> Franck</name><country>10</country><role>Komponist</role><salesArtist>N</salesArtist></Name></Names></Element></Publication>]
>>>>>>>>
>>>>>>>>
>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>
>>>>>>>>> On Wed, Jan 20, 2010 at 9:52 AM, preben <pras@dr.dk>
wrote:
>>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> I'm trying to create a auditservice using a wiretap.
>>>>>>>>>>
>>>>>>>>>> eg.
>>>>>>>>>>        <camel:route trace="true" id="RapNotificationRoute">
>>>>>>>>>>                        <camel:from
>>>>>>>>>> uri="oracleQueue:queue:FURTHERELEMENTS_TEST?jmsMessageType=Text"/>
>>>>>>>>>>                        <camel:transacted
>>>>>>>>>> ref="PROPAGATION_REQUIRED"/>
>>>>>>>>>>                        <camel:wireTap
uri="seda:audit"/>
>>>>>>>>>>                        <camel:to uri="mock:result"/>
>>>>>>>>>>                </camel:route>
>>>>>>>>>>
>>>>>>>>>>                <camel:route id="AuditRoute">
>>>>>>>>>>                        <camel:from
uri="seda:audit"/>
>>>>>>>>>>                        <camel:bean
ref="auditMessageDAO"
>>>>>>>>>> method="audit"/>
>>>>>>>>>>                </camel:route>
>>>>>>>>>>
>>>>>>>>>> The auditMessageDAO takes 2 parameters
>>>>>>>>>>
>>>>>>>>>> public void audit(@Body String body, @Headers Map
headers)
>>>>>>>>>>
>>>>>>>>>> The body gets bound, but the headers parameter doesn't
??
>>>>>>>>>> Any idear how this is done best ???
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Use the tracer to see if the headers are avail when you
consume
>>>>>>>>> from
>>>>>>>>> the Oracle MQ queue. It may play tricks on you :)
>>>>>>>>> http://camel.apache.org/tracer
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Preben
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://old.nabble.com/wiretap-getting-header-value-tp27238444p27238444.html
>>>>>>>>>> Sent from the Camel - Users mailing list archive
at Nabble.com.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://old.nabble.com/wiretap-getting-header-value-tp27238444p27239795.html
>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> Apache Camel Committer
>>>>>>>
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://old.nabble.com/wiretap-getting-header-value-tp27238444p27240209.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/wiretap-getting-header-value-tp27238444p27241149.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/wiretap-getting-header-value-tp27238444p27241380.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: http://old.nabble.com/wiretap-getting-header-value-tp27238444p27242661.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message