Keith Wall created QPID-7193:
--------------------------------

             Summary: Make legacy client fail in clear manner when connecting 
to a peer that replies AMQP 1.0
                 Key: QPID-7193
                 URL: https://issues.apache.org/jira/browse/QPID-7193
             Project: Qpid
          Issue Type: Improvement
          Components: Java Client
            Reporter: Keith Wall


If the legacy Java Client is connected to the peer that doesn't support its 
requested AMQP protocol and responds AMQP 1.0, the Java Client currently fails 
in a less than clear fashion:

In default configuration, where the 0-10 delegate is used by default, the 
following is see:
{noformat}
javax.jms.JMSException: Error creating connection: Protocol: 0.0 is required by 
the broker but is not currently supported by this client library implementation
        at 
org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:134)
        at 
org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:57)
        at org.apache.qpid.example.Hello.runTest(Hello.java:60)
        at org.apache.qpid.example.Hello.main(Hello.java:48)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: org.apache.qpid.AMQProtocolException: Protocol: 0.0 is required by 
the broker but is not currently supported by this client library implementation 
[error code 543: client unsupported protocol]
        at 
org.apache.qpid.client.AMQConnection.initDelegate(AMQConnection.java:644)
        at 
org.apache.qpid.client.AMQConnection.makeConnection(AMQConnection.java:531)
        at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:484)
        at 
org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:130)
        ... 8 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.qpid.client.AMQConnectionDelegate_0_0
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:190)
        at 
org.apache.qpid.client.AMQConnection.initDelegate(AMQConnection.java:626)
        ... 11 more

{noformat}

If client is configured to use a older protocol (with {{qpid.amqp.version}}), 
the client hangs and then times-out.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to