[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    [jira] [Resolved] (AMQ-3537) ClassLoadingAwareObjectInputStream
From:       "Timothy Bish (Resolved) (JIRA)" <jira () apache ! org>
Date:       2011-10-31 22:35:32
Message-ID: 1562827215.43048.1320100532560.JavaMail.tomcat () hel ! zones ! apache ! org
[Download RAW message or body]


     [ 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

        


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic