[
https://issues.jboss.org/browse/AS7-5722?page=com.atlassian.jira.plugin.s...
]
Jeff Mesnil commented on AS7-5722:
----------------------------------
HornetQ has changed its implementation of the JMS connection factory in 2.3.0.BETA1 to be
able to support JGroups.
This means that an older version of HornetQ will not be able to lookup a JMS CF from a
2.3.0.BETA1 server (because of missing classes).
Wrt to AS7, this means that a 7.1.x jboss-client jar (bundling HornetQ 2.2.x client code)
will *not* be able to lookup JMS resources from a 7.2.x server (bundling HornetQ 2.3.x
server).
Backward compatibility issue with JMS clients
---------------------------------------------
Key: AS7-5722
URL:
https://issues.jboss.org/browse/AS7-5722
Project: Application Server 7
Issue Type: Bug
Components: JMS
Reporter: Miroslav Novak
Assignee: Jeff Mesnil
Fix For: 7.2.0.Alpha1
When standalone jms client is trying to connect with "old" jboss-client.jar
from AS 7.1.2.Final (HornetQ 2.2.16.Final) to AS 7.2.0.Alpha1 (HornetQ 2.3.0.Beta1) then
ClassNotFoundException it thrown:
Console log of jms client:
{code}
[jbossqa@station4 as7-with-hq-replicated]$ java -cp
/home/jbossqa/hornetq_eap6_testsuite/as7-with-hq-replicated/client-1.0-SNAPSHOT.jar:/home/jbossqa/hornetq_eap6_testsuite/server1/jboss-eap-6.0/bin/client/jboss-client.jar
org.jboss.jms.client.TestProducer 192.168.40.1 jms/queue/testQueue0 10
remote://192.168.40.1:4447
Oct 10, 2012 11:44:41 AM org.xnio.Xnio <clinit>
INFO: XNIO Version 3.0.6.GA-redhat-1
Oct 10, 2012 11:44:41 AM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.0.6.GA-redhat-1
Oct 10, 2012 11:44:41 AM org.jboss.remoting3.EndpointImpl <clinit>
INFO: JBoss Remoting version 3.2.8.SP1-redhat-1
Oct 10, 2012 11:44:42 AM
org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1$MessageReceiver handleEnd
ERROR: Channel end notification received, closing channel Channel ID f6fa08e1 (outbound)
of Remoting connection 2a0ab444 to /192.168.40.1:4447
org.jboss.naming.remote.protocol.NamingIOException: Failed to lookup [Root exception is
java.io.IOException: java.lang.ClassNotFoundException:
org.hornetq.api.core.BroadcastEndpointFactoryConfiguration]
at org.jboss.naming.remote.client.ClientUtil.namingException(ClientUtil.java:49)
at org.jboss.naming.remote.protocol.v1.Protocol$1.execute(Protocol.java:104)
at
org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1.lookup(RemoteNamingStoreV1.java:78)
at
org.jboss.naming.remote.client.HaRemoteNamingStore$1.operation(HaRemoteNamingStore.java:227)
at
org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:119)
at
org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:223)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:79)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:83)
at javax.naming.InitialContext.lookup(InitialContext.java:409)
at org.jboss.jms.client.TestProducer.startClient(TestProducer.java:47)
at org.jboss.jms.client.TestProducer.main(TestProducer.java:28)
Caused by: java.io.IOException: java.lang.ClassNotFoundException:
org.hornetq.api.core.BroadcastEndpointFactoryConfiguration
at org.jboss.naming.remote.protocol.v1.Protocol$1$3.read(Protocol.java:159)
at
org.jboss.naming.remote.protocol.v1.BaseProtocolCommand.readResult(BaseProtocolCommand.java:60)
at
org.jboss.naming.remote.protocol.v1.Protocol$1.handleClientMessage(Protocol.java:149)
at
org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1$MessageReceiver$1.run(RemoteNamingStoreV1.java:210)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassNotFoundException:
org.hornetq.api.core.BroadcastEndpointFactoryConfiguration
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
org.jboss.marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:135)
at
org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:116)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:871)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:903)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:903)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1205)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at
org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1678)
at
org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1594)
at
org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1558)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1236)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at org.jboss.naming.remote.protocol.v1.Protocol$1$3.read(Protocol.java:156)
... 6 more
Oct 10, 2012 11:44:42 AM
org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1$MessageReceiver handleEnd
ERROR: Channel end notification received, closing channel Channel ID dac0f594 (outbound)
of Remoting connection 16e1eea8 to /192.168.40.1:4447
{code}
How to reproduce:
1) Download reproducer.zip from QA Lab and unzip reproducer.zip: {code}scp -r
messaging-18.jbm.lab.bos.redhat.com:/home/mnovak/reproducer-backward-compatibility
.{code}
2) Start AS7 server:{code}cd jboss-as-7.2.0.Alpha1-SNAPSHOT/bin;sh standalone.sh -c
standalone-full-ha.xml -b localhost{code}
3) Start jms producer:{code}java -cp
$PWD/client-1.0-SNAPSHOT.jar:$PWD/jboss-old-hq226-client.jar
org.jboss.jms.client.TestProducer localhost jms/queue/testQueue0 10{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira