[
https://issues.jboss.org/browse/AS7-1271?page=com.atlassian.jira.plugin.s...
]
Jeff Mesnil commented on AS7-1271:
----------------------------------
[~erce]this is not the same thing I think.
In your case, the issue is that the MDB has no knowledge of the implementation class
(org.apache.xerces.dom.DeferredDocumentImpl) to be able to deserialize it.
How does the servlet creates the DeferredDocumentImpl()? If you want to keep your
structure as is, the MDB must be able to access the xerces jar to deserialize the object.
I'd suggest to move all the code which creates the Document object to a commons jar
that will be bundled in the EAR lib/ directory. This way both the WAR and EJB modules
could access it to be able to serialize and deserialize it properly.
Fired object messages violate classloaders
------------------------------------------
Key: AS7-1271
URL:
https://issues.jboss.org/browse/AS7-1271
Project: Application Server 7
Issue Type: Bug
Components: JMS
Reporter: John Ament
Assignee: Jeff Mesnil
Fix For: 7.2.0.Alpha1
JMS allows you to fire an object message. In this case, I have a object of type in my
deployment. It fires fine. I bind a message consumer to a queue in AS7. the object
message coming in results in a classloader violation:
22:13:35,116 ERROR
[org.jboss.seam.jms.example.statuswatcher.messagedriven.DistributorMDB] (Thread-2
(group:HornetQ-client-global-threads-767046602))
org.jboss.seam.jms.example.statuswatcher.model.Status from [Module
"org.hornetq:main" from local module loader @19d009b4 (roots:
/apps/jboss-as-7.0.0.Final/modules)]: javax.jms.JMSException:
org.jboss.seam.jms.example.statuswatcher.model.Status from [Module
"org.hornetq:main" from local module loader @19d009b4 (roots:
/apps/jboss-as-7.0.0.Final/modules)]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:358)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:307)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:101)
at java.lang.Class.forName0(Native Method) [:1.6.0_22]
at java.lang.Class.forName(Class.java:247) [:1.6.0_22]
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:603) [:1.6.0_22]
at
org.hornetq.utils.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:69)
[hornetq-core-2.2.6.Final.jar:]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) [:1.6.0_22]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) [:1.6.0_22]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
[:1.6.0_22]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) [:1.6.0_22]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) [:1.6.0_22]
at org.hornetq.jms.client.HornetQObjectMessage.getObject(HornetQObjectMessage.java:158)
[hornetq-jms-2.2.6.Final.jar:]
at
org.jboss.seam.jms.example.statuswatcher.messagedriven.DistributorMDB.onMessage(DistributorMDB.java:46)
at
org.hornetq.jms.client.JMSMessageListenerWrapper.onMessage(JMSMessageListenerWrapper.java:91)
[hornetq-jms-2.2.6.Final.jar:]
at
org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:866)
[hornetq-core-2.2.6.Final.jar:]
at
org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:44)
[hornetq-core-2.2.6.Final.jar:]
at
org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:983)
[hornetq-core-2.2.6.Final.jar:]
at
org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
[hornetq-core-2.2.6.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_22]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_22]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira