[
https://issues.apache.org/activemq/browse/AMQ-2488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Darren Davison reopened AMQ-2488:
---------------------------------
I still appear to get similar issues even with the dynamic import in the
manifest:
21:35:46,565 | ERROR | tenerContainer-2 | EndpointMessageListener |
rg.apache.camel.processor.Logger 248 | Caused by:
[org.apache.camel.RuntimeCamelException - Failed to extract body due to:
javax.jms.JMSException: Failed to build body from content. Serializable class
not available to broker. Reason: java.lang.ClassNotFoundException:
org.apache.log4j.spi.LoggingEvent. Message: ActiveMQObjectMessage {commandId =
5, responseRequired = true, messageId =
ID:hepburn-51431-1271622946297-0:0:1:1:1, originalDestination = null,
originalTransactionId = null, producerId =
ID:hepburn-51431-1271622946297-0:0:1:1, destination = topic://logTopic,
transactionId = null, expiration = 0, timestamp = 1271622946535, arrival = 0,
brokerInTime = 1271622946538, brokerOutTime = 1271622946539, correlationId =
null, replyTo = null, persistent = true, type = null, priority = 4, groupID =
null, groupSequence = 0, targetConsumerId = null, compressed = false, userID =
null, content = org.apache.activemq.util.byteseque...@13bef50,
marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size
= 0, properties = null, readOnlyProperties = true, readOnlyBody = true,
droppable = false}]
org.apache.camel.RuntimeCamelException: Failed to extract body due to:
javax.jms.JMSException: Failed to build body from content. Serializable class
not available to broker. Reason: java.lang.ClassNotFoundException:
org.apache.log4j.spi.LoggingEvent. Message: ActiveMQObjectMessage {commandId =
5, responseRequired = true, messageId =
ID:hepburn-51431-1271622946297-0:0:1:1:1, originalDestination = null,
originalTransactionId = null, producerId =
ID:hepburn-51431-1271622946297-0:0:1:1, destination = topic://logTopic,
transactionId = null, expiration = 0, timestamp = 1271622946535, arrival = 0,
brokerInTime = 1271622946538, brokerOutTime = 1271622946539, correlationId =
null, replyTo = null, persistent = true, type = null, priority = 4, groupID =
null, groupSequence = 0, targetConsumerId = null, compressed = false, userID =
null, content = org.apache.activemq.util.byteseque...@13bef50,
marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size
= 0, properties = null, readOnlyProperties = true, readOnlyBody = true,
droppable = false}
at
org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:158)
at
org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:183)
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:42)
at
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:60)
at
org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:56)
at
org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.jms.JMSException: Failed to build body from content.
Serializable class not available to broker. Reason:
java.lang.ClassNotFoundException: org.apache.log4j.spi.LoggingEvent
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
at
org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:179)
at
org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:125)
... 16 more
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.spi.LoggingEvent
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:468)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
org.apache.activemq.util.ClassLoadingAwareObjectInputStream.load(ClassLoadingAwareObjectInputStream.java:63)
at
org.apache.activemq.util.ClassLoadingAwareObjectInputStream.resolveClass(ClassLoadingAwareObjectInputStream.java:37)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:177)
... 17 more
> Unable to access Serializable class when receiving ObjectMessage in OSGi
> environment
> ------------------------------------------------------------------------------------
>
> Key: AMQ-2488
> URL: https://issues.apache.org/activemq/browse/AMQ-2488
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.3.0
> Reporter: Darren Davison
> Assignee: Dejan Bosanac
> Fix For: 5.3.1, 5.4.0
>
> Attachments: amq-error.log, amq-headers.log, SMX4-424.diff
>
>
> I have configured applications to use Log4J's JMSAppender in order to log
> messages on a queue as follows;
> {noformat}
> log4j.appender.jms=org.apache.log4j.net.JMSAppender
> log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
> log4j.appender.jms.ProviderURL=tcp://localhost:61616
> log4j.appender.jms.TopicBindingName=logTopic
> log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory
> {noformat}
> Each application logging statement adds a new message to topic://logTopic on
> the broker. I have a bundle deployed that attempts to route the messages
> from this topic with camel;
> {code}
> from("activemq:topic:logTopic")
> .convertBodyTo(String.class)
> .to("log:foo?level=DEBUG&showProperties=true&showHeaders=true");
> {code}
> When using servicemix 4 (Fuse 4.1.0.4), a stack trace is seen with the
> following message (enhanced using felix.log.level=4);
> {noformat}Caused by: java.lang.ClassNotFoundException: *** Class
> 'org.apache.log4j.spi.LoggingEvent'
> was not found because bundle 56 does not import 'org.apache.log4j.spi' even
> though bundle 84
> does export it. To resolve this issue, add an import for
> 'org.apache.log4j.spi' to bundle 56. ***
> {noformat}
> Bundles as follows;
> {noformat}...@root:/> osgi/list|grep 56
> [ 56] [Active ] [ ] [ 60] activemq-core (5.3.0.fuse)
> s...@root:/> osgi/list|grep 84
> [ 84] [Active ] [ ] [ 8] OPS4J Pax Logging - API (1.3.0)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.