Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Not A Problem
-
2.9.2
-
None
-
Camel 2.9.2 + Eclipse 3.6
-
Unknown
Description
There is no JMX MBean for onException component, which makes statistics unavailable.
For example:
import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; /** * A Camel Router */ public class OnExceptionRouteBuilder extends RouteBuilder { /** * A main() so we can easily run these routing rules in our IDE */ public static void main(String... args) throws Exception { CamelContext camelContext = new DefaultCamelContext(); ConnectionFactory jmsConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616"); camelContext.addComponent("jms", org.apache.camel.component.jms.JmsComponent .jmsComponent(jmsConnectionFactory)); camelContext.addRoutes(new OnExceptionRouteBuilder()); camelContext.start(); Thread.sleep(100000000); } /** * Lets configure the Camel routing rules using Java code... */ public void configure() { onException(javax.jms.JMSException.class).process(new Processor() { @Override public void process(Exchange exchange) throws Exception { System.out.println("error"); } }).to("log:exception"); from("timer://myTimer?period=2000&repeatCount=1").setBody() .simple("hello JMS!").process(new Processor() { @Override public void process(Exchange exchange) throws Exception { System.out.println("We will write to ActiveMQ queue: " + exchange.getIn().getBody(String.class)); } }).to("jms:queue:hello"); } }
And there are only two processors(We have four in the test case) in org.apache.camel/processors, none for onException branch. See the picture attached.