camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-4354) header added using an EventNotifier is not present at AggregationStrategy for http endpoints
Date Fri, 19 Aug 2011 11:34:27 GMT

    [ 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

        

Mime
View raw message