[jboss-cvs] JBoss Messaging SVN: r1812 - in trunk: src/main/org/jboss/jms/client src/main/org/jboss/jms/client/container src/main/org/jboss/jms/client/remoting tests tests/src/org/jboss/test/messaging/jms/crash

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Dec 18 15:08:22 EST 2006


Author: timfox
Date: 2006-12-18 15:08:15 -0500 (Mon, 18 Dec 2006)
New Revision: 1812

Modified:
   trunk/src/main/org/jboss/jms/client/JBossConnection.java
   trunk/src/main/org/jboss/jms/client/container/SessionAspect.java
   trunk/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java
   trunk/tests/build.xml
   trunk/tests/src/org/jboss/test/messaging/jms/crash/ClientCrashTwoConnectionsTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/crash/CreateTwoClientOnServerCommand.java
Log:
Fix tests



Modified: trunk/src/main/org/jboss/jms/client/JBossConnection.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/JBossConnection.java	2006-12-18 18:14:53 UTC (rev 1811)
+++ trunk/src/main/org/jboss/jms/client/JBossConnection.java	2006-12-18 20:08:15 UTC (rev 1812)
@@ -45,10 +45,12 @@
 import javax.jms.XATopicSession;
 
 import org.jboss.jms.client.delegate.ClientConnectionDelegate;
+import org.jboss.jms.client.remoting.JMSRemotingConnection;
 import org.jboss.jms.client.state.ConnectionState;
 import org.jboss.jms.delegate.ConnectionDelegate;
 import org.jboss.jms.delegate.SessionDelegate;
 import org.jboss.jms.util.ThreadContextClassLoaderChanger;
+import org.jboss.logging.Logger;
 
 /**
  * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
@@ -64,6 +66,9 @@
 
    // Constants -----------------------------------------------------
    private static final long serialVersionUID = -3715868654823177898L;
+   
+   private static final Logger log = Logger.getLogger(JBossConnection.class);
+   
 
    static final int TYPE_GENERIC_CONNECTION = 0;
    static final int TYPE_QUEUE_CONNECTION = 1;
@@ -225,7 +230,7 @@
    public String getRemotingClientSessionId()
    {
       ConnectionState state = (ConnectionState)((ClientConnectionDelegate)delegate).getState();
-
+      
       return state.getRemotingConnection().getInvokingClient().getSessionId();
    }
 

Modified: trunk/src/main/org/jboss/jms/client/container/SessionAspect.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/container/SessionAspect.java	2006-12-18 18:14:53 UTC (rev 1811)
+++ trunk/src/main/org/jboss/jms/client/container/SessionAspect.java	2006-12-18 20:08:15 UTC (rev 1812)
@@ -130,19 +130,20 @@
          // delivery count information from client to server. We could just do this on the server but
          // we would lose delivery count info.
                   
+         // CLIENT_ACKNOWLEDGE cannot be used with MDBs so is always safe to cancel on this session                  
+         
          List cancels = new ArrayList();
          
          for(Iterator i = state.getClientAckList().iterator(); i.hasNext(); )
          {
             DeliveryInfo ack = (DeliveryInfo)i.next();            
+            
             DefaultCancel cancel = new DefaultCancel(ack.getMessageProxy().getDeliveryId(), ack.getMessageProxy().getDeliveryCount());
             cancels.add(cancel);
          }
          
          if (!cancels.isEmpty())
-         {
-            //CLIENT_ACKNOWLEDGE cannot be used with MDBs so is always safe to cancel on this session
-            
+         {            
             del.cancelDeliveries(cancels);            
          }
          
@@ -181,6 +182,12 @@
          
          if (trace) { log.trace(this + " delivery id: " + info.getDeliveryId() + " added to client ack list"); }
          
+         //Sanity check
+         if (info.getConnectionConsumerSession() != null)
+         {
+            throw new IllegalStateException("CLIENT_ACKNOWLEDGE cannot be used with a connection consumer");
+         }
+                  
          state.getClientAckList().add(info);
          
          //We can return immediately
@@ -193,6 +200,7 @@
          //We collect the single acknowledgement in the state.
          //Currently DUPS_OK is treated the same as AUTO_ACKNOWLDGE
          //Also XA sessions not enlisted in a global tx are treated as AUTO_ACKNOWLEDGE
+                  
          
          if (trace) { log.trace(this + " delivery id: " + info.getDeliveryId() + " added to client ack member"); }
          

Modified: trunk/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java	2006-12-18 18:14:53 UTC (rev 1811)
+++ trunk/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java	2006-12-18 20:08:15 UTC (rev 1812)
@@ -169,7 +169,7 @@
       client.removeListener(callbackManager);
       client.disconnect();
 
-      client=null;
+      client = null;
       log.debug(this + " closed");
    }
 

Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml	2006-12-18 18:14:53 UTC (rev 1811)
+++ trunk/tests/build.xml	2006-12-18 20:08:15 UTC (rev 1812)
@@ -799,7 +799,6 @@
 
    </target>
 
-
    <target name="crash-tests" depends="tests-jar, prepare-testdirs, clear-test-logs"
       description="Runs crash tests">
 
@@ -847,7 +846,6 @@
       <!--
           ClientCrashTwoConnectionsTest over "http"
       -->
-
       <antcall target="start-rmi-server">
          <param name="test.remoting" value="http"/>
          <param name="remote.server.test.logfile.suffix" value="remote-crash"/>

Modified: trunk/tests/src/org/jboss/test/messaging/jms/crash/ClientCrashTwoConnectionsTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/crash/ClientCrashTwoConnectionsTest.java	2006-12-18 18:14:53 UTC (rev 1811)
+++ trunk/tests/src/org/jboss/test/messaging/jms/crash/ClientCrashTwoConnectionsTest.java	2006-12-18 20:08:15 UTC (rev 1812)
@@ -120,6 +120,9 @@
       log.info("server(1) = " + remotingSessionId[1]);
       log.info("we have = " + ((SimpleConnectionManager)cm).getClients().size() + " clients registered on SimpleconnectionManager");
       
+      assertFalse(cm.containsSession(remotingSessionId[0]));            
+      assertTrue(cm.containsSession(remotingSessionId[1]));          
+      
       // Now we should have a client connection from the remote server to the local server
       remoteServer.kill();
       log.info("killed remote server");
@@ -129,7 +132,7 @@
            
       // See if we still have a connection with this id
       
-      //Connection state shouldn't have been cleared up by now
+      //Connection state should have been cleared up by now
       assertFalse(cm.containsSession(remotingSessionId[0]));            
       assertFalse(cm.containsSession(remotingSessionId[1]));            
       

Modified: trunk/tests/src/org/jboss/test/messaging/jms/crash/CreateTwoClientOnServerCommand.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/crash/CreateTwoClientOnServerCommand.java	2006-12-18 18:14:53 UTC (rev 1811)
+++ trunk/tests/src/org/jboss/test/messaging/jms/crash/CreateTwoClientOnServerCommand.java	2006-12-18 20:08:15 UTC (rev 1812)
@@ -29,6 +29,8 @@
 import javax.jms.Topic;
 
 import org.jboss.jms.client.JBossConnection;
+import org.jboss.jms.client.container.SessionAspect;
+import org.jboss.logging.Logger;
 import org.jboss.test.messaging.tools.jmx.rmi.Command;
 
 /**
@@ -45,6 +47,8 @@
 {
    private static final long serialVersionUID = -997724797145152821L;
    
+   private static final Logger log = Logger.getLogger(CreateTwoClientOnServerCommand.class);
+      
    private ConnectionFactory cf;
    
    private boolean retainReference;
@@ -81,11 +85,12 @@
       conn2.setClientID("test2");
       conn2.start();
 
-      conn1.close();
-      
       String arrays[] = new String[2];
       arrays[0] = ((JBossConnection)conn1).getRemotingClientSessionId();
       arrays[1] = ((JBossConnection)conn2).getRemotingClientSessionId();
+      
+      conn1.close();
+      
 
       // Return the remoting client session id for the connection
       return arrays;      




More information about the jboss-cvs-commits mailing list