You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2010/01/20 20:21:17 UTC

svn commit: r901341 - in /qpid/trunk/qpid/java: ./ client/src/main/java/org/apache/qpid/client/ client/src/main/java/org/apache/qpid/client/protocol/ test-profiles/

Author: ritchiem
Date: Wed Jan 20 19:21:16 2010
New Revision: 901341

URL: http://svn.apache.org/viewvc?rev=901341&view=rev
Log:
QPID-2349 : Fixed Protocol Version negotiation. The Negotiated protocol version was not given to the ProtocolSession.
Once this is done the correct delegate is enabled on connection.

Modified:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
    qpid/trunk/qpid/java/module.xml
    qpid/trunk/qpid/java/test-profiles/Excludes
    qpid/trunk/qpid/java/test-profiles/java.testprofile

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java?rev=901341&r1=901340&r2=901341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java Wed Jan 20 19:21:16 2010
@@ -516,6 +516,8 @@
 
         _protocolHandler = new AMQProtocolHandler(this);
 
+        _logger.info("Connecting with ProtocolHandler Version:"+_protocolHandler.getProtocolVersion());
+
         // We are not currently connected
         _connected = false;
 
@@ -552,6 +554,8 @@
             }
         }
 
+        _logger.info("Connected with ProtocolHandler Version:"+_protocolHandler.getProtocolVersion());
+
         if (_logger.isDebugEnabled())
         {
             _logger.debug("Are we connected:" + _connected);
@@ -619,13 +623,18 @@
     {
         try
         {
-            Class c = Class.forName(String.format
+            String delegateClassName = String.format
                                     ("org.apache.qpid.client.AMQConnectionDelegate_%s_%s",
-                                     pe.getMajorVersion(), pe.getMinorVersion()));
+                                     pe.getMajorVersion(), pe.getMinorVersion());
+            _logger.info("Looking up delegate '" + delegateClassName + "' Based on PE:" + pe);
+            Class c = Class.forName(delegateClassName);
             Class partypes[] = new Class[1];
             partypes[0] = AMQConnection.class;
             _delegate = (AMQConnectionDelegate) c.getConstructor(partypes).newInstance(this);
             _sessions.setMaxChannelID(_delegate.getMaxChannelID());
+            //Update our session to use this new protocol version 
+            _protocolHandler.getProtocolSession().setProtocolVersion(_delegate.getProtocolVersion());
+
         }
         catch (ClassNotFoundException e)
         {

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java?rev=901341&r1=901340&r2=901341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java Wed Jan 20 19:21:16 2010
@@ -470,6 +470,7 @@
                                 // connection.
                                 ProtocolInitiation protocolInit = (ProtocolInitiation) message;
                                 _suggestedProtocolVersion = protocolInit.checkVersion();
+                                _logger.info("Broker suggested using protocol version:" + _suggestedProtocolVersion);
                                 
                                 // get round a bug in old versions of qpid whereby the connection is not closed
                                 _stateManager.changeState(AMQState.CONNECTION_CLOSED);

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java?rev=901341&r1=901340&r2=901341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java Wed Jan 20 19:21:16 2010
@@ -104,6 +104,7 @@
     {
         _protocolHandler = protocolHandler;
         _protocolVersion = connection.getProtocolVersion();
+        _logger.info("Using ProtocolVersion for Session:" + _protocolVersion);
         _methodDispatcher = ClientMethodDispatcherImpl.newMethodDispatcher(ProtocolVersion.getLatestSupportedVersion(),
                                                                            this);
         _connection = connection;
@@ -400,6 +401,7 @@
 
     public void setProtocolVersion(final ProtocolVersion pv)
     {
+        _logger.info("Setting ProtocolVersion to :" + pv);
         _protocolVersion = pv;
         _methodRegistry = MethodRegistry.getMethodRegistry(pv);
         _methodDispatcher = ClientMethodDispatcherImpl.newMethodDispatcher(pv, this);

Modified: qpid/trunk/qpid/java/module.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/module.xml?rev=901341&r1=901340&r2=901341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/module.xml (original)
+++ qpid/trunk/qpid/java/module.xml Wed Jan 20 19:21:16 2010
@@ -278,6 +278,7 @@
       <sysproperty key="broker.stopped" value="${broker.stopped}" />
       <sysproperty key="broker.config" value="${broker.config}" />
       <sysproperty key="test.output" value="${module.results}"/>
+      <sysproperty key="qpid.amqp.version" value="${qpid.amqp.version}"/>
 
       <syspropertyset>
         <propertyref prefix="test"/>

Modified: qpid/trunk/qpid/java/test-profiles/Excludes
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/test-profiles/Excludes?rev=901341&r1=901340&r2=901341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/test-profiles/Excludes (original)
+++ qpid/trunk/qpid/java/test-profiles/Excludes Wed Jan 20 19:21:16 2010
@@ -29,8 +29,3 @@
 org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverOnMessageTest#*
 org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverTest#*
 
-// The following tests exibit random failures and are temporarily excluded.
-// QPID-2224 Random Test failures - The test needs to be fixed.
-org.apache.qpid.transport.network.mina.MINANetworkDriverTest#*
-// QPID-2225 Random Test failures against the in-vm broker.
-org.apache.qpid.test.unit.ack.FailoverBeforeConsumingRecover#*

Modified: qpid/trunk/qpid/java/test-profiles/java.testprofile
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/test-profiles/java.testprofile?rev=901341&r1=901340&r2=901341&view=diff
==============================================================================
--- qpid/trunk/qpid/java/test-profiles/java.testprofile (original)
+++ qpid/trunk/qpid/java/test-profiles/java.testprofile Wed Jan 20 19:21:16 2010
@@ -3,5 +3,8 @@
 broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work/derbyDB
 broker.ready=BRK-1004
 broker.stopped=Exception
-qpid.amqp.version=0-9
+#
+# Do not enable. Allow client to attempt 0-10 and negotiate downwards 
+#
+#qpid.amqp.version=0-91
 profile.excludes=JavaTransientExcludes JavaStandaloneExcludes 08StandaloneExcludes



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org