Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
servicemix-camel-2009.01
-
None
-
Patch Available
Description
This patch adds a robust-in-only test, JbiRobustInOnlyWithFaultHandledTrueSpringDSLTest, that exposes a bug in the 2009.01 version of the component. It appears this bug is fixed with the camel-2.0-based re-write of the component. Will attach the test patch shortly.
The stack trace generated when running test, testInOnlyWithFaultHandledByExceptionClause, using version servicemix-camel-2009.01is listed below:
INFO - ComponentMBeanImpl - Initializing component: ID:10.10.10.10-124573db925-0:4
INFO - ComponentMBeanImpl - Starting component: ID:10.10.10.10-124573db925-0:4
ERROR - CamelJbiComponent - Error processing exchange RobustInOnly[
id: ID:10.10.10.10-124573db925-3:0
status: Active
role: consumer
service:
faulty-service
endpoint: endpoint
in: null
fault: <?xml version="1.0" encoding="UTF-8"?><fault/>
]
java.lang.RuntimeException: javax.jbi.messaging.MessagingException: Fault not supported
at org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:179)
at org.apache.servicemix.camel.JbiExchange.createFaultMessage(JbiExchange.java:156)
at org.apache.servicemix.camel.JbiExchange.createFaultMessage(JbiExchange.java:1)
at org.apache.camel.impl.DefaultExchange.getFault(DefaultExchange.java:259)
at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:81)
at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:1)
at org.apache.camel.impl.DefaultExchange.getFault(DefaultExchange.java:254)
at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:76)
at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:1)
at org.apache.servicemix.camel.CamelConsumerEndpoint.process(CamelConsumerEndpoint.java:64)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:598)
at org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
at org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at org.apache.servicemix.jbi.nmr.flow.st.STFlow.doSend(STFlow.java:49)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
at org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:283)
at org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
at org.apache.servicemix.components.util.PojoSupport.fail(PojoSupport.java:237)
at org.apache.servicemix.camel.JbiInOnlyWithFaultHandledTrueSpringDSLTest$ReturnFaultComponent.onMessageExchange(JbiInOnlyWithFaultHandledTrueSpringDSLTest.java:101)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at org.apache.servicemix.jbi.nmr.flow.st.STFlow.doSend(STFlow.java:49)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
at org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:283)
at org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
at org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
at org.apache.servicemix.common.endpoints.SimpleEndpoint.send(SimpleEndpoint.java:70)
at org.apache.servicemix.camel.CamelConsumerEndpoint.process(CamelConsumerEndpoint.java:89)
at org.apache.servicemix.camel.JbiEndpoint$JbiProducer.process(JbiEndpoint.java:98)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
at org.apache.servicemix.camel.su9.HandleFaultProcessor.process(HandleFaultProcessor.java:47)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
at org.apache.servicemix.camel.CamelProviderEndpoint.handleActiveProviderExchange(CamelProviderEndpoint.java:94)
at org.apache.servicemix.camel.CamelProviderEndpoint.process(CamelProviderEndpoint.java:73)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
at org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
at org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at org.apache.servicemix.jbi.nmr.flow.st.STFlow.doSend(STFlow.java:49)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
at org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:283)
at org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
at org.apache.servicemix.client.DefaultServiceMixClient.send(DefaultServiceMixClient.java:148)
at org.apache.servicemix.camel.JbiInOnlyWithFaultHandledTrueSpringDSLTest.testInOnlyWithFaultHandledByExceptionClause(JbiInOnlyWithFaultHandledTrueSpringDSLTest.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: javax.jbi.messaging.MessagingException: Fault not supported
at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:366)
at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setFault(MessageExchangeImpl.java:290)
at org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:166)
... 81 more