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