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 <p...@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 <p...@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 <p...@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 <p...@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 <p...@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.