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