BrokerDetails does not dictate what protocol version to use for the connection
------------------------------------------------------------------------------

                 Key: QPID-2162
                 URL: https://issues.apache.org/jira/browse/QPID-2162
             Project: Qpid
          Issue Type: Bug
            Reporter: Martin Ritchie


Currently, we infer the default protocol version based on transport being VM or 
a specified ClientProperty:

        String amqpVersion = 
System.getProperty((ClientProperties.AMQP_VERSION), "0-10");

        _failoverPolicy = new FailoverPolicy(connectionURL, this);
        BrokerDetails brokerDetails = _failoverPolicy.getCurrentBrokerDetails();
        if (brokerDetails.getTransport().equals(BrokerDetails.VM) || 
"0-8".equals(amqpVersion) || "0-9".equals(amqpVersion))

Currently we are unable to use socket:// connections unless we set the recently 
added AMQP_VERSIO N to 0-8/0-9.
However with the addition of 0-10 to the java broker we are unable to perform 
0-10 InVM testing as VM will always result in a 0-8 connection.

I suggest that we update BrokerDetails should be updated to define and report 
the type of ConnectionDelegate to use, this can be set via the URL, via the 
qpid.amqp.version or via the type of BrokerDetails. So the protocol version 
selected would be set in this order:
 - BrokerDetails Transport type. Defined in code to be the current setings 
VM=0-8, Socket=0-8, TCP=0-10
 - BrokerDetails URL   e.g. 'tcp://localhost:5672?protocol=0-8' to set the TCP 
version to use 0-8
 - qpid.amqp.version overrides all connection values to use this protocol 
version
 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to