activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Yankus (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-3537) ClassLoadingAwareObjectInputStream cannot handle deserializing proxies with mixed JDK & non-JDK interfaces
Date Tue, 11 Oct 2011 18:55:12 GMT
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: RHEL 6.0, ActiveMQ 5.5.0, Tomcat 7, Hibernate 3.6.7.Final, Spring 3.0.3.RELEASE
            Reporter: Jason Yankus


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

        

Mime
View raw message