[ 
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 work 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 work 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)

Reply via email to