[
https://issues.apache.org/jira/browse/CAMEL-22759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Spampinato updated CAMEL-22759:
-----------------------------------------
Description:
Hi,
during test execution of camel flow that use caffeine component, camelContext
is null and a NullPointerException is raised.
This is the error raised
{code:java}
org.apache.camel.FailedToStartRouteException: Failed to start route: route1
because: java.lang.NullPointerException: Cannot invoke
"org.apache.camel.CamelContext.getCamelContextExtension()" because
"this.camelContext" is null at
org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:129)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalRouteStartupManager.doWarmUpRoutes(InternalRouteStartupManager.java:329)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:198)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:132)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3121)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2733)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2688)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.spring.boot.SpringBootCamelContext.doStart(SpringBootCamelContext.java:57)
~[camel-spring-boot-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2275)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
~[camel-core-engine-4.16.0.jar:4.16.0] at
org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:121)
~[camel-spring-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelAnnotationsHandler.lambda$handleCamelContextStartup$8(CamelAnnotationsHandler.java:516)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelSpringTestHelper.doToSpringCamelContexts(CamelSpringTestHelper.java:108)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelAnnotationsHandler.handleCamelContextStartup(CamelAnnotationsHandler.java:513)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelSpringBootExecutionListener.beforeTestMethod(CamelSpringBootExecutionListener.java:107)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)
~[spring-test-6.2.14.jar:6.2.14] at
org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:236)
~[spring-test-6.2.14.jar:6.2.14] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$2(TestMethodTestDescriptor.java:165)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:201)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:201)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:164)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[na:na] at
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[na:na] at
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:201)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:170)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:94)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:59)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:142)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:58)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:94)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$2(InterceptingLauncher.java:47)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:46)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:70)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:100)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:520)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:748)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:443)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:211)
~[.cp/:na]Caused by: org.apache.camel.RuntimeCamelException:
java.lang.NullPointerException: Cannot invoke
"org.apache.camel.CamelContext.getCamelContextExtension()" because
"this.camelContext" is null at
org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:53)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:68)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.DefaultChannel.doStart(DefaultChannel.java:130)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:139)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:116)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.processor.Pipeline.doStart(Pipeline.java:204)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:102)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.RouteService.startChildServices(RouteService.java:419)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.RouteService.doWarmUp(RouteService.java:217)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:127)
~[camel-base-engine-4.16.0.jar:4.16.0] ... 75 common frames omittedCaused
by: java.lang.NullPointerException: Cannot invoke
"org.apache.camel.CamelContext.getCamelContextExtension()" because
"this.camelContext" is null at
org.apache.camel.support.HeaderSelectorProducer.doBuild(HeaderSelectorProducer.java:109)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.build(BaseService.java:64)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.buildService(ServiceHelper.java:56)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.processor.DelegateAsyncProcessor.doBuild(DelegateAsyncProcessor.java:92)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.processor.AutoMockInterceptProducer.doBuild(AutoMockInterceptProducer.java:102)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.build(BaseService.java:64)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.init(BaseService.java:82)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:115)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalServiceManager.doAddService(InternalServiceManager.java:144)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1552)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:332)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1686)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:61)
~[camel-support-4.16.0.jar:4.16.0] ... 95 common frames omitted {code}
This is the simple flow created
{code:java}
from(direct("start"))
.to("caffeine-cache://cache?action=PUT&key=1")
.setBody(constant("new value"))
.log("Body: ${body}")
.to("caffeine-cache://cache?key=1&action=GET")
.log("${header.CamelCaffeineActionHasResult}")
.log("Body: ${body}"); {code}
This is the test class
{code:java}
@SpringBootTest
@CamelSpringBootTest
@MockEndpoints
class IntegrationTest {
@EndpointInject("mock:caffeine-cache:cache")
private MockEndpoint cache;
@Autowired
private ProducerTemplate producer;
@Test
void testCache() throws InterruptedException {
cache.expectedMessageCount(2);
cache.expectedBodiesReceived("value!!!", "new value");
cache.allMessages().body().isInstanceOf(String.class);
producer.sendBody("direct:start", "value!!!");
cache.assertIsSatisfied();
}
} {code}
Same code using version 4.14.2 works fine.
This is the link to a Github repo with the issue reproduced
[Code|https://github.com/spampibridge/camel-cache.git]
was:
Hi,
during test execution of camel flow that use caffeine component, camelContext
is null and a NullPointerException is raised.
This is the error raised
{code:java}
org.apache.camel.FailedToStartRouteException: Failed to start route: route1
because: java.lang.NullPointerException: Cannot invoke
"org.apache.camel.CamelContext.getCamelContextExtension()" because
"this.camelContext" is null at
org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:129)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalRouteStartupManager.doWarmUpRoutes(InternalRouteStartupManager.java:329)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:198)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:132)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3121)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2733)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2688)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.spring.boot.SpringBootCamelContext.doStart(SpringBootCamelContext.java:57)
~[camel-spring-boot-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2275)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
~[camel-core-engine-4.16.0.jar:4.16.0] at
org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:121)
~[camel-spring-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelAnnotationsHandler.lambda$handleCamelContextStartup$8(CamelAnnotationsHandler.java:516)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelSpringTestHelper.doToSpringCamelContexts(CamelSpringTestHelper.java:108)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelAnnotationsHandler.handleCamelContextStartup(CamelAnnotationsHandler.java:513)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.apache.camel.test.spring.junit5.CamelSpringBootExecutionListener.beforeTestMethod(CamelSpringBootExecutionListener.java:107)
~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)
~[spring-test-6.2.14.jar:6.2.14] at
org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:236)
~[spring-test-6.2.14.jar:6.2.14] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$2(TestMethodTestDescriptor.java:165)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:201)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:201)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:164)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[na:na] at
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[na:na] at
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
~[junit-platform-engine-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:201)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:170)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:94)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:59)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:142)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:58)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:94)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$2(InterceptingLauncher.java:47)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:46)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:70)
~[junit-platform-launcher-1.12.2.jar:1.12.2] at
org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:100)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:520)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:748)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:443)
~[.cp/:na] at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:211)
~[.cp/:na]Caused by: org.apache.camel.RuntimeCamelException:
java.lang.NullPointerException: Cannot invoke
"org.apache.camel.CamelContext.getCamelContextExtension()" because
"this.camelContext" is null at
org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:53)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:68)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.DefaultChannel.doStart(DefaultChannel.java:130)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:139)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:116)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.processor.Pipeline.doStart(Pipeline.java:204)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:102)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.RouteService.startChildServices(RouteService.java:419)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.RouteService.doWarmUp(RouteService.java:217)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:127)
~[camel-base-engine-4.16.0.jar:4.16.0] ... 75 common frames omittedCaused
by: java.lang.NullPointerException: Cannot invoke
"org.apache.camel.CamelContext.getCamelContextExtension()" because
"this.camelContext" is null at
org.apache.camel.support.HeaderSelectorProducer.doBuild(HeaderSelectorProducer.java:109)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.build(BaseService.java:64)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.buildService(ServiceHelper.java:56)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.processor.DelegateAsyncProcessor.doBuild(DelegateAsyncProcessor.java:92)
~[camel-support-4.16.0.jar:4.16.0] at
org.apache.camel.processor.AutoMockInterceptProducer.doBuild(AutoMockInterceptProducer.java:102)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.build(BaseService.java:64)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.init(BaseService.java:82)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:115)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.InternalServiceManager.doAddService(InternalServiceManager.java:144)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1552)
~[camel-base-engine-4.16.0.jar:4.16.0] at
org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:332)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.BaseService.start(BaseService.java:123)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
~[camel-api-4.16.0.jar:4.16.0] at
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1686)
~[camel-core-processor-4.16.0.jar:4.16.0] at
org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:61)
~[camel-support-4.16.0.jar:4.16.0] ... 95 common frames omitted {code}
This is the simple flow created
{code:java}
from(direct("start"))
.to("caffeine-cache://cache?action=PUT&key=1")
.setBody(constant("new value"))
.log("Body: ${body}")
.to("caffeine-cache://cache?key=1&action=GET")
.log("${header.CamelCaffeineActionHasResult}")
.log("Body: ${body}"); {code}
This is the test class
{code:java}
@SpringBootTest
@CamelSpringBootTest
@MockEndpoints
class IntegrationTest {
@EndpointInject("mock:caffeine-cache:cache")
private MockEndpoint cache;
@Autowired
private ProducerTemplate producer;
@Test
void testCache() throws InterruptedException {
cache.expectedMessageCount(2);
cache.expectedBodiesReceived("value!!!", "new value");
cache.allMessages().body().isInstanceOf(String.class);
producer.sendBody("direct:start", "value!!!");
cache.assertIsSatisfied();
}
} {code}
Same code using version 4.14.2 work fine.
This is the link to a Github repo with the issue reproduced
[Code|https://github.com/spampibridge/camel-cache.git]
> Camel context null during test execution
> ----------------------------------------
>
> Key: CAMEL-22759
> URL: https://issues.apache.org/jira/browse/CAMEL-22759
> Project: Camel
> Issue Type: Bug
> Components: camel-caffeine
> Affects Versions: 4.15.0
> Reporter: Francesco Spampinato
> Priority: Minor
>
> Hi,
> during test execution of camel flow that use caffeine component, camelContext
> is null and a NullPointerException is raised.
> This is the error raised
>
> {code:java}
> org.apache.camel.FailedToStartRouteException: Failed to start route: route1
> because: java.lang.NullPointerException: Cannot invoke
> "org.apache.camel.CamelContext.getCamelContextExtension()" because
> "this.camelContext" is null at
> org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:129)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doWarmUpRoutes(InternalRouteStartupManager.java:329)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:198)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:132)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3121)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2733)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2688)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.spring.boot.SpringBootCamelContext.doStart(SpringBootCamelContext.java:57)
> ~[camel-spring-boot-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2275)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
> ~[camel-core-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:121)
> ~[camel-spring-4.16.0.jar:4.16.0] at
> org.apache.camel.test.spring.junit5.CamelAnnotationsHandler.lambda$handleCamelContextStartup$8(CamelAnnotationsHandler.java:516)
> ~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
> org.apache.camel.test.spring.junit5.CamelSpringTestHelper.doToSpringCamelContexts(CamelSpringTestHelper.java:108)
> ~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
> org.apache.camel.test.spring.junit5.CamelAnnotationsHandler.handleCamelContextStartup(CamelAnnotationsHandler.java:513)
> ~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
> org.apache.camel.test.spring.junit5.CamelSpringBootExecutionListener.beforeTestMethod(CamelSpringBootExecutionListener.java:107)
> ~[camel-test-spring-junit5-4.16.0.jar:4.16.0] at
> org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)
> ~[spring-test-6.2.14.jar:6.2.14] at
> org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:236)
> ~[spring-test-6.2.14.jar:6.2.14] at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$2(TestMethodTestDescriptor.java:165)
> ~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:201)
> ~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:201)
> ~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:164)
> ~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
> ~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
> ~[junit-jupiter-engine-5.12.2.jar:5.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[na:na] at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> java.base/java.util.ArrayList.forEach(ArrayList.java:1604) ~[na:na] at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
> ~[junit-platform-engine-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:201)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:170)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:94)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:59)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:142)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:58)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:94)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$2(InterceptingLauncher.java:47)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:46)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:70)
> ~[junit-platform-launcher-1.12.2.jar:1.12.2] at
> org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:100)
> ~[.cp/:na] at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
> ~[.cp/:na] at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:520)
> ~[.cp/:na] at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:748)
> ~[.cp/:na] at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:443)
> ~[.cp/:na] at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:211)
> ~[.cp/:na]Caused by: org.apache.camel.RuntimeCamelException:
> java.lang.NullPointerException: Cannot invoke
> "org.apache.camel.CamelContext.getCamelContextExtension()" because
> "this.camelContext" is null at
> org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:53)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:68)
> ~[camel-support-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.DefaultChannel.doStart(DefaultChannel.java:130)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:139)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:116)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.processor.Pipeline.doStart(Pipeline.java:204)
> ~[camel-core-processor-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:102)
> ~[camel-support-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.RouteService.startChildServices(RouteService.java:419)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.RouteService.doWarmUp(RouteService.java:217)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:127)
> ~[camel-base-engine-4.16.0.jar:4.16.0] ... 75 common frames
> omittedCaused by: java.lang.NullPointerException: Cannot invoke
> "org.apache.camel.CamelContext.getCamelContextExtension()" because
> "this.camelContext" is null at
> org.apache.camel.support.HeaderSelectorProducer.doBuild(HeaderSelectorProducer.java:109)
> ~[camel-support-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.build(BaseService.java:64)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.buildService(ServiceHelper.java:56)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.processor.DelegateAsyncProcessor.doBuild(DelegateAsyncProcessor.java:92)
> ~[camel-support-4.16.0.jar:4.16.0] at
> org.apache.camel.processor.AutoMockInterceptProducer.doBuild(AutoMockInterceptProducer.java:102)
> ~[camel-core-processor-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.build(BaseService.java:64)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.init(BaseService.java:82)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.start(BaseService.java:115)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.InternalServiceManager.doAddService(InternalServiceManager.java:144)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1552)
> ~[camel-base-engine-4.16.0.jar:4.16.0] at
> org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:332)
> ~[camel-core-processor-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:127)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:114)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:153)
> ~[camel-api-4.16.0.jar:4.16.0] at
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1686)
> ~[camel-core-processor-4.16.0.jar:4.16.0] at
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:61)
> ~[camel-support-4.16.0.jar:4.16.0] ... 95 common frames omitted {code}
> This is the simple flow created
> {code:java}
> from(direct("start"))
> .to("caffeine-cache://cache?action=PUT&key=1")
> .setBody(constant("new value"))
> .log("Body: ${body}")
> .to("caffeine-cache://cache?key=1&action=GET")
> .log("${header.CamelCaffeineActionHasResult}")
> .log("Body: ${body}"); {code}
> This is the test class
> {code:java}
> @SpringBootTest
> @CamelSpringBootTest
> @MockEndpoints
> class IntegrationTest {
>
> @EndpointInject("mock:caffeine-cache:cache")
> private MockEndpoint cache;
>
> @Autowired
> private ProducerTemplate producer;
> @Test
> void testCache() throws InterruptedException {
> cache.expectedMessageCount(2);
> cache.expectedBodiesReceived("value!!!", "new value");
> cache.allMessages().body().isInstanceOf(String.class);
> producer.sendBody("direct:start", "value!!!");
> cache.assertIsSatisfied();
> }
> } {code}
> Same code using version 4.14.2 works fine.
> This is the link to a Github repo with the issue reproduced
> [Code|https://github.com/spampibridge/camel-cache.git]
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)