You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by dphan <da...@gmail.com> on 2015/05/13 17:31:43 UTC

javax.management.InstanceNotFoundException

Hi,

I'm checking out the JMX feature of Camel to monitor routes.  And I got this
exception:

JBossFuse:karaf@root> Exception in thread "SpringOsgiExtenderThread-4"
org.apache.camel.RuntimeCamelException:
javax.management.InstanceNotFoundException:
org.apache.camel:name="monitorRoute",context=localhost/monitorCamelContext,type=routes
	at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1363)
	at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:120)
	at
org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:303)
	at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:96)
	at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
	at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:948)
	at
org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
	at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
	at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
	at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
	at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.management.InstanceNotFoundException:
org.apache.camel:name="monitorRoute",context=localhost/monitorCamelContext,type=routes
	at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
	at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643)
	at
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
	at
org.apache.camel.component.jmx.JMXMonitorConsumer.convertNumberToAttributeType(JMXMonitorConsumer.java:109)
	at
org.apache.camel.component.jmx.JMXMonitorConsumer.addNotificationListener(JMXMonitorConsumer.java:59)
	at org.apache.camel.component.jmx.JMXConsumer.doStart(JMXConsumer.java:109)
	at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
	at
org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1929)
	at
org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:2223)
	at
org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:2159)
	at
org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:2089)
	at
org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1868)
	at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1740)
	at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1579)
	at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
	at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1547)
	at
org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:221)
	at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:118)
	... 10 more

Here is a simple Camel context I got from the "Apache Camel Developer's
Cookbook":

<?xml version="1.0" encoding="UTF-8"?>



<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:camel="http://camel.apache.org/schema/spring"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
         http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
         http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
       ">

  <camelContext id="monitorCamelContext"
xmlns="http://camel.apache.org/schema/spring">
    <jmxAgent id="agent"
    	connectorPort="11223"
    	createConnector="false"
    	usePlatformMBeanServer="true"
    	serviceUrlPath="/jmxrmi/camel"
    	loadStatisticsEnabled="true"
    	statisticsLevel="All"/>

    <route id="monitorRoute">
      
      <from uri="timer:foo?period=20000" />
      <transform>
        <simple>Monitoring ${body}</simple>
      </transform>
      <log message="${body}"/>
      <to uri="mock:result"/>
    </route>
 
    <route id="jmxMonitor">
      <from
uri="jmx:platform?objectDomain=org.apache.camel&amp;key.context=localhost/monitorCamelContext&amp;key.type=routes&amp;key.name=&quot;monitorRoute&quot;&amp;monitorType=counter&amp;observedAttribute=ExchangesCompleted&amp;initThreshold=0&amp;granularityPeriod=500&amp;offset=1&amp;differenceMode=false"/>
      <log message="JMX provides: ${body}"/>
      <to uri="mock:monitor"/>
    </route>
    
  </camelContext>

</beans>

Thanks.



--
View this message in context: http://camel.465427.n5.nabble.com/javax-management-InstanceNotFoundException-tp5767072.html
Sent from the Camel - Users mailing list archive at Nabble.com.