You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2011/08/19 17:23:27 UTC

[jira] [Assigned] (CAMEL-4354) header added using an EventNotifier is not present at AggregationStrategy for http endpoints

     [ https://issues.apache.org/jira/browse/CAMEL-4354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen reassigned CAMEL-4354:
----------------------------------

    Assignee: Claus Ibsen

> 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
>            Assignee: Claus Ibsen
>
> 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