camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmdr <spc...@yahoo.fr>
Subject Re: exception trace in message
Date Fri, 29 Feb 2008 16:39:55 GMT

Here is an example of code that work as I aspected.:-(
Here is an example of code that works as I wanted.
I fail to get the exception using setHeader("exception",
header("CamelCauseException")).
Can you provide a piece of code?

When should we use exchange.getIn().setBody() or
exchange.getOut().setBody()?


public class ExceptionTest extends ContextTestSupport 
{
	MockEndpoint endEndpoint;

	@Override
	protected void setUp() throws Exception 
	{
		super.setUp();
		endEndpoint = getMockEndpoint("mock:end");
	}

	@Override
	protected RouteBuilder createRouteBuilder() throws Exception 
	{
		return new RouteBuilder() 
		{
			@Override
			public void configure() throws Exception 
			{
				from("direct:start").process
				(	new Processor()
					{
						public void process(Exchange exchange) throws Exception 
						{
							try
							{
								throw new Exception("Test exception");
							}
							catch (Exception e) 
							{
								StringWriter stringWritter = new StringWriter();
								PrintWriter printWritter = new PrintWriter(stringWritter, true);
								e.printStackTrace(printWritter);
								printWritter.flush();
								stringWritter.flush();
								
								exchange.getIn().setBody(stringWritter.toString());
								
								template.send("activemq:queue:Exception", exchange);
							} 
						}
					}
				);
			}
		};
	}

	public void testException() throws InterruptedException 
	{
		endEndpoint.expectedMessageCount(1);
		
		template.sendBody("direct:start", "test Exception");
		
		MockEndpoint.assertIsSatisfied(endEndpoint);
	}
}

-- 
View this message in context: http://www.nabble.com/exception-trace-in-message-tp15740418s22882p15762404.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message