[ 
https://issues.apache.org/jira/browse/CAMEL-4354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13087663#comment-13087663
 ] 

Claus Ibsen commented on CAMEL-4354:
------------------------------------

Also make sure you set the header on the correct IN or OUT. See
http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html

The exchange may very well have an OUT message already, so you should populate 
it correctly. Storing the detail directly on the Exchange as a property will 
always preserve it.

> header added using an EventNotifier is not present at AggregationStrategy for 
> http endpoints
> --------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-4354
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4354
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.8.0
>         Environment: linux/windows
>            Reporter: Marco Crivellaro
>
> A new header added using an EventNotifier is not present when the exchange is 
> aggregated with an AggregationStrategy.
> This is happening only if the enpoint type is http, ftp doesn't have this 
> issue.
> This was working with an early version of 2.8.0-SNAPSHOT
> Following the EventNotifier code used.
> {code:title=ExchangeSentEventNotifier.java|borderStyle=solid}
> public class ExchangeSentEventNotifier extends EventNotifierSupport {
>       @Override
>       protected void doStart() throws Exception {
>         /*
>          *  filter out unwanted events
>          *  we are interested only in ExchangeSentEvent
>          */
>         setIgnoreCamelContextEvents(true);
>         setIgnoreServiceEvents(true);
>         setIgnoreRouteEvents(true);
>         setIgnoreExchangeCreatedEvent(true);
>         setIgnoreExchangeCompletedEvent(true);
>         setIgnoreExchangeFailedEvents(true);
>         setIgnoreExchangeSentEvents(false);           
>       }
>       @Override
>       protected void doStop() throws Exception {
>       }
>       @Override
>       public boolean isEnabled(EventObject event) {
>               return event instanceof ExchangeSentEvent;
>       }
>       @Override
>       public void notify(EventObject event) throws Exception {
>       if(event.getClass() == ExchangeSentEvent.class){
>             ExchangeSentEvent eventSent = (ExchangeSentEvent)event;
>             
>             log.debug("Took " + eventSent.getTimeTaken() + " millis to send 
> to: " + eventSent.getEndpoint());
>             //storing time taken to the custom header            
>             eventSent.getExchange().getIn().setHeader("x-time-taken", 
> eventSent.getTimeTaken());
>             
>       }
>               
>       }
> }
> {code} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to