[
https://issues.apache.org/jira/browse/AMQ-3537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish resolved AMQ-3537.
-------------------------------
Resolution: Fixed
Fix Version/s: 5.6.0
Apply fix and add provided test case.
> ClassLoadingAwareObjectInputStream cannot handle deserializing proxies with
> mixed JDK & non-JDK interfaces
> ----------------------------------------------------------------------------------------------------------
>
> Key: AMQ-3537
> URL: https://issues.apache.org/jira/browse/AMQ-3537
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.5.0
> Environment: JDK 1.6.0, RHEL 6.0, ActiveMQ 5.5.0, Tomcat 7, Hibernate
> 3.6.7.Final, Spring 3.0.3.RELEASE
> Reporter: Jason Yankus
> Fix For: 5.6.0
>
> Attachments: AMQ3537Test.groovy, AMQ3537Test.java
>
>
> When the ActiveMQ client attempts to unpack an ObjectMessage that contains a
> proxy with a mix of JDK and non-JDK interfaces the
> ClassLoadingAwareObjectInputStream chooses ONLY the ClassLoader from the
> first interface in the array of interfaces represented by the proxy. This
> means that if a proxy's first interface is a JDK class (java.util.List,
> java.sql.Blob) the core ClassLoader is used. In the event that a non-JDK
> interface is present in the list of proxied interfaces the same core
> ClassLoader is used. The Proxy.getProxyClass subsequently throws an
> IllegalArgumentException because the non-JDK interface class cannot be loaded
> by the core ClassLoader.
> This problem is extant during deserialization of an ObjectMessage payload
> that contains a proxy that implements [java.sql.Blob,
> org.hibernate.engine.jdbc.WrappedBlob, java.io.Serializable] (a blob proxy
> created by [hibernate
> SerializableBlobProxy|https://github.com/hibernate/hibernate-core/blob/3.6.7.Final/hibernate-core/src/main/java/org/hibernate/engine/jdbc/SerializableBlobProxy.java]).
> The impact of this bug is that users of Hibernate cannot use ActiveMQ as a
> messaging framework if they need to package ValueObjects that have mapped
> lobs.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira