Serializable class not available to broker: java.lang.ClassNotFoundException while viewing messages in ActiveMQ

I have seen this same error using ActiveMQ version 5.8.0

In my case it was a red herring, the ActiveMQ console could not unserialize the message it mustn't have access to the jar that the class is in, but the consumer application does, and the message is passed on without issue from the queue to the consumer.

I'd be interested to see if there's a solution to the issue here (viewing the message in the console), and also how this is handled in more recent versions of ActiveMQ.


As OwIR mentioned, you need to set the path of the jar file containing the classes onto the wrapper.java.classpath.3 property in %ACTIVEMQ_HOME%\bin\win64\wrapper.conf.

You might encounter the below exception after updating the above property

Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: Forbidden class

In order to fix it, set the wrapper.java.additional.13 property to -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="<choose_the_packages_set_it_here>"

You could also use -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" as the value, however it might be unsafe to use wildcard.

This worked for me!! Hope it helps you