Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
servicemix-camel-2010.01
-
None
Description
Currently, a single instance of a JbiProducer is used by the JbiEndpoint. As soon as the producer is stopped, all references to the Producer become unusable. Especially with custom code that accesses the Producer from multiple threads, this can easily lead to exceptions like the one below:
java.lang.NullPointerException at org.apache.servicemix.camel.JbiBinding.createJbiMessageExchange(JbiBinding.java:148) at org.apache.servicemix.camel.JbiBinding.makeJbiMessageExchange(JbiBinding.java:118) at org.apache.servicemix.camel.CamelConsumerEndpoint.process(CamelConsumerEndpoint.java:57) at org.apache.servicemix.camel.JbiEndpoint$JbiProducer$1.call(JbiEndpoint.java:122) at org.apache.servicemix.camel.JbiBinding.runWithCamelContextClassLoader(JbiBinding.java:107) at org.apache.servicemix.camel.JbiEndpoint$JbiProducer.process(JbiEndpoint.java:120)