Hi,
I have to upgrade libraries for an existing JBoss EAP 7.4 application, with JDK 
11
One of the upgrades is replacing Camel 2.25.4 with Camel 3.22.4.
In our application we use a subclass of DefaultCamelContext, without any 
explicit initialization.
However, after migrating to Camel 3.22.4, a NPE gets thrown as the 
HeadersMapFactory member is null in AbstractCamelContext.
Exception details shown below.
Explicitly adding setHeadersMapFactory(new DefaultHeadersMapFactory()) fixes 
the issue.
But why should this step be needed?
Surjit Sen

2026-01-26 14:25:19,241 GMT ERROR 
[org.apache.camel.impl.engine.AbstractCamelContext] (MSC service thread 1-8) 
Error starting CamelContext (StandardContext) due to exception thrown: null: 
java.lang.NullPointerException
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3402)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:3113)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:3068)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.support.service.BaseService.start(BaseService.java:119)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2717)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//com.cox.oss.cvm.camel.context.application.StandardContext$Proxy$_$$_WeldClientProxy.start(Unknown
 Source)
        at 
deployment.mso_batch-5.86-SNAPSHOT.war//org.apache.camel.cdi.CdiCamelExtension.afterDeploymentValidation(CdiCamelExtension.java:471)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
[email protected]//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
        at 
[email protected]//org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
        at 
[email protected]//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
        at 
[email protected]//org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
        at 
[email protected]//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
        at 
[email protected]//org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
        at 
[email protected]//javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)
        at 
[email protected]//org.jboss.weld.util.Observers.notify(Observers.java:166)
        at 
[email protected]//org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
        at 
[email protected]//org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
        at 
[email protected]//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)
        at 
[email protected]//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)
        at 
[email protected]//org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
        at 
[email protected]//org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35)
        at 
[email protected]//org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)

Reply via email to