[ https://issues.apache.org/jira/browse/CAMEL-5191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
XiaopengLi updated CAMEL-5191: ------------------------------ Description: There is no JMX MBean for onException component, which makes statistics unavailable. For example: {noformat} 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"); } } {noformat} 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. was: There is no JMX MBean for onException component, which makes statistics is not available. For example: {noformat} 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"); } } {noformat} 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. > JMX statistics problem with onException() > ----------------------------------------- > > Key: CAMEL-5191 > URL: https://issues.apache.org/jira/browse/CAMEL-5191 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.9.2 > Environment: Camel 2.9.2 + Eclipse 3.6 > Reporter: XiaopengLi > Priority: Minor > Attachments: screenshot-1.jpg > > > There is no JMX MBean for onException component, which makes statistics > unavailable. > For example: > {noformat} > 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"); > } > } > {noformat} > 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. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira