Hello. I have a CamelSpringBootTest, and I am trying to test that my mbeans have been registered. This is how I am trying to check:
@CamelSpringTest @ContextConfiguration @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) class DynamicRouterJmxIT { @Autowired CamelContext camelContext; @Test void testExpectedMbeansExist() throws MalformedObjectNameException { Assertions.assertTrue(camelContext.isStarted()); MBeanServer mBeanServer = camelContext.getManagementStrategy().getManagementAgent().getMBeanServer(); ObjectName name = new ObjectName("org.apache.camel:context=camelContext,type=routes,name=\"testRoute\""); DynamicRouterControlService controlMbean = JMX.newMBeanProxy(mBeanServer, name, DynamicRouterControlService.class); DynamicRouterFilterService filterMbean = JMX.newMBeanProxy(mBeanServer, name, DynamicRouterFilterService.class); Assertions.assertNotNull(controlMbean); Assertions.assertNotNull(filterMbean); } } Here is the XML that I am using for it, called DynamicRouterJmxIT-context.xml: <beans xmlns="http://www.springframework.org/schema/beans" 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="camelContext" xmlns="http://camel.apache.org/schema/spring"> <!-- enable JMX --> <jmxAgent id="agent" disabled="false"/> <route> <from uri="direct:start" id="testRoute"/> <to uri="dynamic-router:test"/> </route> <route> <from uri="direct:subscribe-no-url-predicate"/> <toD uri="dynamic-router-control:subscribe ?subscribeChannel=${headers.subscribeChannel} &subscriptionId=${headers.subscriptionId} &destinationUri=${headers.destinationUri} &priority=${headers.priority}"/> </route> </camelContext> </beans> I keep getting this error: Cannot invoke "org.apache.camel.spi.ManagementAgent.getMBeanServer()" because the return value of "org.apache.camel.spi.ManagementStrategy.getManagementAgent()" is null What am I doing wrong? Thanks, Steve