[jboss-cvs] JBoss Messaging SVN: r4231 - in trunk: src/main/org/jboss/messaging/core/client and 9 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon May 19 03:46:47 EDT 2008


Author: timfox
Date: 2008-05-19 03:46:46 -0400 (Mon, 19 May 2008)
New Revision: 4231

Modified:
   trunk/src/config/jbm-configuration.xml
   trunk/src/main/org/jboss/messaging/core/client/ClientConnection.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionImpl.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java
   trunk/src/main/org/jboss/messaging/core/server/Queue.java
   trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java
   trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
   trunk/src/main/org/jboss/messaging/jms/client/JBossConnection.java
   trunk/src/main/org/jboss/messaging/jms/client/JBossConnectionFactory.java
   trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java
   trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerDeployer.java
   trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/impl/JMSServerManagerimplTest.java
Log:
More perf stuff mainly


Modified: trunk/src/config/jbm-configuration.xml
===================================================================
--- trunk/src/config/jbm-configuration.xml	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/config/jbm-configuration.xml	2008-05-19 07:46:46 UTC (rev 4231)
@@ -69,7 +69,7 @@
       
       <create-journal-dir>true</create-journal-dir>
       
-      <journal-type>nio</journal-type>
+      <journal-type>asyncio</journal-type>
       
       <journal-sync>true</journal-sync>
       

Modified: trunk/src/main/org/jboss/messaging/core/client/ClientConnection.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/ClientConnection.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/client/ClientConnection.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -16,9 +16,13 @@
  */
 public interface ClientConnection
 {    
+   //TODO create better selection of overloaded methods
    ClientSession createClientSession(boolean xa, boolean autoCommitSends, boolean autoCommitAcks,
                                      int ackBatchSize, boolean blockOnAcknowledge, boolean cacheProducers) throws MessagingException;
 
+   ClientSession createClientSession(boolean xa, boolean autoCommitSends, boolean autoCommitAcks,
+                                     int ackBatchSize) throws MessagingException;
+
    void start() throws MessagingException;
 
    void stop() throws MessagingException;

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -76,7 +76,9 @@
    
    private int defaultProducerMaxRate;
    
+   private boolean defaultBlockOnAcknowledge;
    
+   
    // Static ---------------------------------------------------------------------------------------
     
    // Constructors ---------------------------------------------------------------------------------
@@ -84,7 +86,8 @@
    public ClientConnectionFactoryImpl(final Location location, final ConnectionParams connectionParams,
                                       final boolean strictTck,
                                       final int defaultConsumerWindowSize, final int defaultConsumerMaxRate,
-                                      final int defaultProducerWindowSize, final int defaultProducerMaxRate)
+                                      final int defaultProducerWindowSize, final int defaultProducerMaxRate,
+                                      final boolean defaultBlockOnAcknowledge)
    {
       this.location = location;
       this.strictTck = strictTck;
@@ -92,6 +95,7 @@
       this.defaultConsumerMaxRate = defaultConsumerMaxRate;
       this.defaultProducerWindowSize = defaultProducerWindowSize;
       this.defaultProducerMaxRate = defaultProducerMaxRate;
+      this.defaultBlockOnAcknowledge = defaultBlockOnAcknowledge;
       this.connectionParams = connectionParams;
    }
    
@@ -142,7 +146,8 @@
 
          return new ClientConnectionImpl(response.getConnectionTargetID(), strictTck, remotingConnection,
                defaultConsumerWindowSize, defaultConsumerMaxRate,
-               defaultProducerWindowSize, defaultProducerMaxRate, response.getServerVersion());
+               defaultProducerWindowSize, defaultProducerMaxRate,
+               defaultBlockOnAcknowledge, response.getServerVersion());
       }
       catch (Throwable t)
       {

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionImpl.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionImpl.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -73,6 +73,8 @@
    private final int defaultProducerWindowSize;
    
    private final int defaultProducerMaxRate;
+   
+   private final boolean defaultBlockOnAcknowledge;
 
    private final Version serverVersion;
    
@@ -88,6 +90,7 @@
                                final int defaultConsumerMaxRate,
                                final int defaultProducerWindowSize,
                                final int defaultProducerMaxRate,
+                               final boolean defaultBlockOnAcknowledge,
                                final Version serverVersion)
    {
       this.serverTargetID = serverTargetID;
@@ -103,6 +106,8 @@
       this.defaultProducerWindowSize = defaultProducerWindowSize;
       
       this.defaultProducerMaxRate = defaultProducerMaxRate;
+      
+      this.defaultBlockOnAcknowledge = defaultBlockOnAcknowledge;
 
       this.serverVersion = serverVersion;
    }
@@ -123,13 +128,21 @@
       ClientSession session =
       	new ClientSessionImpl(this, response.getSessionID(), ackBatchSize, cacheProducers,
       			autoCommitSends, autoCommitAcks, blockOnAcknowledge,
-      			defaultConsumerWindowSize, defaultConsumerMaxRate, defaultProducerWindowSize, defaultProducerMaxRate);
+      			defaultConsumerWindowSize, defaultConsumerMaxRate, defaultProducerWindowSize,
+      			defaultProducerMaxRate);
 
       sessions.add(session);
 
       return session;
    }
    
+   public ClientSession createClientSession(final boolean xa, final boolean autoCommitSends,
+         final boolean autoCommitAcks,
+         final int ackBatchSize) throws MessagingException
+   {
+      return createClientSession(xa, autoCommitSends, autoCommitAcks, ackBatchSize, defaultBlockOnAcknowledge, false);
+   }
+   
    public void start() throws MessagingException
    {
       checkClosed();

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -160,6 +160,7 @@
                {
                }
                
+               //TODO - can avoid this extra System.currentTimeMillis call by exiting early
                long now = System.currentTimeMillis();
                
                toWait -= now - start;

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -54,7 +54,9 @@
    private boolean blocked;
    
    private final long blockTimeout;
-   
+  
+   //TODO - this is screwed - I want this to be zero, but unfortunately in messageSent, the current
+   //messages byts haven't been substracted so this won't work!!
    private final long bytesLow;
    
    private final long bytesHigh;
@@ -173,51 +175,56 @@
       }
    }
 
-   private final int maxSize = 2;
-   
-   private int size;
-    
    @Override
    public synchronized void messageSent(final IoSession session, final Object message) throws Exception
    {      
-//      if (blocked)
-//      {
-//         long bytes = session.getScheduledWriteBytes();
-//                      
-//         if (bytes <= bytesLow)
-//         {
-//            blocked = false;
-//   
-//            //Note that we need to notify all since there may be more than one thread waiting on this
-//            //E.g. the response from a blocking acknowledge and a delivery
-//            notifyAll();            
-//         }
-//      }
-      
-      size--;
-      
-      if (blocked && size == 0)
+      if (blocked)
       {
-         notifyAll();
+         long bytes = session.getScheduledWriteBytes();
+                      
+         if (bytes <= bytesLow)
+         {
+            blocked = false;
+   
+            //Note that we need to notify all since there may be more than one thread waiting on this
+            //E.g. the response from a blocking acknowledge and a delivery
+            notifyAll();            
+         }
       }
    }
    
    public synchronized void checkWrite(final IoSession session) throws Exception
    {
-//      if (session.getScheduledWriteBytes() >= bytesHigh)
-//      {
-//         blocked = true;
-//
-//         wait();                  
-//      }      
-      if (size == maxSize)
+      while (session.getScheduledWriteBytes() >= bytesHigh)
       {
          blocked = true;
+                  
+         long start = System.currentTimeMillis();
          
-         wait();
-      }
+         long toWait = blockTimeout;
+         
+         do
+         {
+            wait(toWait);
             
-      size++;
+            if (session.getScheduledWriteBytes() < bytesHigh)
+            {
+               break;
+            }
+            
+            long now = System.currentTimeMillis();
+            
+            toWait -= now - start;
+            
+            start = now;
+         }
+         while (toWait > 0);
+         
+         if (toWait <= 0)
+         {
+            throw new IllegalStateException("Timed out waiting for MINA queue to free");
+         }
+      }      
    }
 
    // Package protected ---------------------------------------------

Modified: trunk/src/main/org/jboss/messaging/core/server/Queue.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/Queue.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/server/Queue.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -23,6 +23,7 @@
 
 import java.util.LinkedList;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 import org.jboss.messaging.core.filter.Filter;
 import org.jboss.messaging.core.persistence.StorageManager;
@@ -55,6 +56,8 @@
    
    void deliver();
    
+   void deliverAsync(Executor executor);
+   
    void addConsumer(Consumer consumer);
 
    boolean removeConsumer(Consumer consumer);

Modified: trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -27,9 +27,11 @@
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Set;
+import java.util.concurrent.Executor;
 import java.util.concurrent.Future;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.jboss.messaging.core.filter.Filter;
@@ -100,6 +102,11 @@
 
    private volatile FlowController flowController;
    
+   private AtomicBoolean waitingToDeliver = new AtomicBoolean(false);  
+   
+   private final Runnable deliverRunner = new DeliverRunner();
+   
+   
    public QueueImpl(final long persistenceID, final SimpleString name,
          final Filter filter, final boolean clustered, final boolean durable,
          final boolean temporary, final int maxSize,
@@ -173,6 +180,17 @@
  
   // private volatile int count = 0;
    
+
+   public void deliverAsync(final Executor executor)
+   {
+      //Prevent too many executors running at once
+      
+      if (waitingToDeliver.compareAndSet(false, true))
+      {
+         executor.execute(deliverRunner);
+      }
+   }
+      
    /*
     * Attempt to deliver all the messages in the queue
     * 
@@ -655,6 +673,17 @@
    // Inner classes
    // --------------------------------------------------------------------------
 
+   private class DeliverRunner implements Runnable
+   {
+      public void run()
+      {
+         //Must be set to false *before* executing to avoid race
+         waitingToDeliver.set(false);
+         
+         deliver();
+      }
+   }   
+   
    private class ScheduledDeliveryRunnable implements Runnable
    {
       private final MessageReference ref;

Modified: trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -292,14 +292,7 @@
 
    public void promptDelivery(final Queue queue)
    {
-      // TODO - do we really need to prompt on a different thread?
-      executor.execute(new Runnable()
-      {
-         public void run()
-         {
-            queue.deliver();
-         }
-      });
+      queue.deliverAsync(executor);
    }
 
    public void send(final ServerMessage msg) throws Exception

Modified: trunk/src/main/org/jboss/messaging/jms/client/JBossConnection.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/client/JBossConnection.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/jms/client/JBossConnection.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -46,10 +46,8 @@
 import org.jboss.messaging.core.client.ClientConnection;
 import org.jboss.messaging.core.client.ClientSession;
 import org.jboss.messaging.core.client.RemotingSessionListener;
-import org.jboss.messaging.core.client.impl.ClientConnectionInternal;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.version.Version;
 
 /**
  * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
@@ -373,62 +371,32 @@
       
       try
       {
-         int ackBatchSize;
-         
-         final boolean autoCommitSends;
+         ClientSession session;
 
-         final boolean autoCommitAcks;
-         
-         final boolean blockOnAcknowledge;
-
       	if (acknowledgeMode == Session.SESSION_TRANSACTED)
       	{
-      		autoCommitSends = false;
-
-            autoCommitAcks = false;
-            
-            ackBatchSize = -1; //Infinite
-            
-            blockOnAcknowledge = false;
+      	   session =
+               connection.createClientSession(isXA, false, false, -1, false, cacheProducers);
       	}
       	else if (acknowledgeMode == Session.AUTO_ACKNOWLEDGE)
          {
-            autoCommitSends = true;
-
-            autoCommitAcks = true;
-            
-            ackBatchSize = 1;
-            
-            blockOnAcknowledge = false;
+      	   session = connection.createClientSession(isXA, true, true, 1);
          }
          else if (acknowledgeMode == Session.DUPS_OK_ACKNOWLEDGE)
          {
-         	autoCommitSends = true;
-         	
-         	autoCommitAcks = true;
-         	
-         	ackBatchSize = dupsOKBatchSize;
-         	
-         	blockOnAcknowledge = false;
+            session =
+               connection.createClientSession(isXA, true, true, dupsOKBatchSize, false, cacheProducers);
          }
          else if (acknowledgeMode == Session.CLIENT_ACKNOWLEDGE)
          {
-            autoCommitSends = true;
-
-            autoCommitAcks = false;
-            
-            ackBatchSize = -1; //Infinite
-            
-            blockOnAcknowledge = false;
+            session =
+               connection.createClientSession(isXA, true, false, -1, false, cacheProducers);
          }         
          else
          {
          	throw new IllegalArgumentException("Invalid ackmode: " + acknowledgeMode);
          }
 
-         ClientSession session =
-         	connection.createClientSession(isXA, autoCommitSends, autoCommitAcks, ackBatchSize, blockOnAcknowledge, cacheProducers);
-
          justCreated = false;
          
          return new JBossSession(this, transacted, isXA, acknowledgeMode, session, type);

Modified: trunk/src/main/org/jboss/messaging/jms/client/JBossConnectionFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/client/JBossConnectionFactory.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/jms/client/JBossConnectionFactory.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -91,6 +91,8 @@
    private final int defaultProducerWindowSize;
 
    private final int defaultProducerMaxRate;
+   
+   private final boolean defaultBlockOnAcknowledge;
 
    // Constructors ---------------------------------------------------------------------------------
    
@@ -102,7 +104,8 @@
                                  final int defaultConsumerWindowSize,
                                  final int defaultConsumerMaxRate,
                                  final int defaultProducerWindowSize,
-                                 final int defaultProducerMaxRate)
+                                 final int defaultProducerMaxRate,
+                                 final boolean defaultBlockOnAcknowledge)
    {
       this.clientID = clientID;
       this.dupsOKBatchSize = dupsOKBatchSize;
@@ -113,6 +116,7 @@
       this.defaultConsumerWindowSize = defaultConsumerWindowSize;
       this.defaultProducerMaxRate = defaultProducerMaxRate;
       this.defaultProducerWindowSize = defaultProducerWindowSize;
+      this.defaultBlockOnAcknowledge = defaultBlockOnAcknowledge;
    }
    // ConnectionFactory implementation -------------------------------------------------------------
    
@@ -212,24 +216,25 @@
    {
       return "JBossConnectionFactory->" + connectionFactory;
    }
-   
-   public ClientConnectionFactory getDelegate()
+
+   public synchronized ClientConnectionFactory getDelegate()
    {
-      if(connectionFactory == null)
-         {
-            connectionFactory = new ClientConnectionFactoryImpl(
-                    location,
-                    connectionParams,
-                    strictTck,
-                    defaultConsumerWindowSize,
-                    defaultConsumerMaxRate,
-                    defaultProducerWindowSize,
-                    defaultProducerMaxRate);
+      if (connectionFactory == null)
+      {
+         connectionFactory = new ClientConnectionFactoryImpl(
+               location,
+               connectionParams,
+               strictTck,
+               defaultConsumerWindowSize,
+               defaultConsumerMaxRate,
+               defaultProducerWindowSize,
+               defaultProducerMaxRate,
+               defaultBlockOnAcknowledge);
 
-         }
+      }
       return connectionFactory;
    }
-   
+
    // Package protected ----------------------------------------------------------------------------
    
    // Protected ------------------------------------------------------------------------------------
@@ -240,18 +245,8 @@
    {
       try
       {
-         if(connectionFactory == null)
-         {
-            connectionFactory = new ClientConnectionFactoryImpl(
-                    location,
-                    connectionParams,
-                    strictTck,
-                    defaultConsumerWindowSize,
-                    defaultConsumerMaxRate,
-                    defaultProducerWindowSize, 
-                    defaultProducerMaxRate);
-            
-         }
+         getDelegate();
+         
          ClientConnection res = connectionFactory.createConnection(username, password);
                     
          return new JBossConnection(res, type, clientID, dupsOKBatchSize);

Modified: trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -95,6 +95,7 @@
    		                          int dupsOKBatchSize, boolean strictTck,
    		                          int consumerWindowSize, int consumerMaxRate,
    		                          int producerWindowSize, int producerMaxRate,
+   		                          boolean blockOnAcknowledge,
    		                          String jndiBinding) throws Exception;
 
    /**
@@ -115,6 +116,7 @@
    		                          boolean strictTck,
    		                          int consumerWindowSize, int consumerMaxRate,
    		                          int producerWindowSize, int producerMaxRate,
+   		                          boolean blockOnAcknowledge,
    		                          List<String> jndiBindings) throws Exception;
 
    /**

Modified: trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerDeployer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerDeployer.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerDeployer.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -48,6 +48,7 @@
    private static final String SUPPORTS_FAILOVER = "supports-failover";
    private static final String SUPPORTS_LOAD_BALANCING = "supports-load-balancing";
    private static final String LOAD_BALANCING_FACTORY = "load-balancing-factory";
+   private static final String BLOCK_ON_ACKNOWLEDGE = "block-on-acknowledge";
    private static final String STRICT_TCK = "strict-tck";
    private static final String ENTRY_NODE_NAME = "entry";
    private static final String CONNECTION_FACTORY_NODE_NAME = "connection-factory";
@@ -130,6 +131,7 @@
          int consumerMaxRate = -1;         
          int producerWindowSize = 1000;
          int producerMaxRate = -1;
+         boolean blockOnAcknowledge = false;
          
          for (int j = 0; j < attributes.getLength(); j++)
          {
@@ -161,18 +163,22 @@
             {
                dupsOKBatchSize = Integer.parseInt(attributes.item(j).getTextContent().trim());
             }
-            if (SUPPORTS_FAILOVER.equalsIgnoreCase(attributes.item(j).getNodeName()))
+            else if (BLOCK_ON_ACKNOWLEDGE.equalsIgnoreCase(attributes.item(j).getNodeName()))
             {
-               //setSupportsFailover(Boolean.parseBoolean(attributes.item(j).getTextContent().trim()));
+               blockOnAcknowledge = Boolean.parseBoolean(attributes.item(j).getTextContent().trim());
             }
-            if (SUPPORTS_LOAD_BALANCING.equalsIgnoreCase(attributes.item(j).getNodeName()))
-            {
-               //setSupportsLoadBalancing(Boolean.parseBoolean(attributes.item(j).getTextContent().trim()));
-            }
-            if (LOAD_BALANCING_FACTORY.equalsIgnoreCase(attributes.item(j).getNodeName()))
-            {
-               //setLoadBalancingFactory(attributes.item(j).getTextContent().trim());
-            }
+//            if (SUPPORTS_FAILOVER.equalsIgnoreCase(attributes.item(j).getNodeName()))
+//            {
+//               //setSupportsFailover(Boolean.parseBoolean(attributes.item(j).getTextContent().trim()));
+//            }
+//            if (SUPPORTS_LOAD_BALANCING.equalsIgnoreCase(attributes.item(j).getNodeName()))
+//            {
+//               //setSupportsLoadBalancing(Boolean.parseBoolean(attributes.item(j).getTextContent().trim()));
+//            }
+//            if (LOAD_BALANCING_FACTORY.equalsIgnoreCase(attributes.item(j).getNodeName()))
+//            {
+//               //setLoadBalancingFactory(attributes.item(j).getTextContent().trim());
+//            }
          }
 
          NodeList children = node.getChildNodes();
@@ -188,7 +194,8 @@
                String jndiName = child.getAttributes().getNamedItem("name").getNodeValue();
                String name = node.getAttributes().getNamedItem(getKeyAttribute()).getNodeValue();
                jmsServerManager.createConnectionFactory(name, clientID, dupsOKBatchSize, cfStrictTck,
-               		consumerWindowSize, consumerMaxRate, producerWindowSize, producerMaxRate, jndiName);
+               		consumerWindowSize, consumerMaxRate, producerWindowSize, producerMaxRate, 
+               		blockOnAcknowledge, jndiName);
             }
          }
       }

Modified: trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -231,7 +231,7 @@
 
    public boolean createConnectionFactory(String name, String clientID,
    		int dupsOKBatchSize, boolean strictTck, int consumerWindowSize, int consumerMaxRate,
-   		int producerWindowSize, int producerMaxRate, String jndiBinding) throws Exception
+   		int producerWindowSize, int producerMaxRate, boolean blockOnAcknowledge, String jndiBinding) throws Exception
    {
       JBossConnectionFactory cf = connectionFactories.get(name);
       if (cf == null)
@@ -240,7 +240,8 @@
                  messagingServerManagement.getConfiguration().getLocation(),
                  messagingServerManagement.getConfiguration().getConnectionParams(),                 
                  messagingServerManagement.getConfiguration().isStrictTck() || strictTck,
-                 consumerWindowSize, consumerMaxRate, producerWindowSize, producerMaxRate
+                 consumerWindowSize, consumerMaxRate, producerWindowSize, producerMaxRate,
+                 blockOnAcknowledge
                  );
       }
       if (!bindToJndi(jndiBinding, cf))
@@ -258,7 +259,7 @@
 
    public boolean createConnectionFactory(String name, String clientID, int dupsOKBatchSize,
    		                                 boolean strictTck, int consumerWindowSize, int consumerMaxRate,
-   		                                 int producerWindowSize, int producerMaxRate,
+   		                                 int producerWindowSize, int producerMaxRate, boolean blockOnAcknowledge,
    		                                 List<String> jndiBindings) throws Exception
    {
       JBossConnectionFactory cf = connectionFactories.get(name);
@@ -268,7 +269,8 @@
                  messagingServerManagement.getConfiguration().getLocation(),
                  messagingServerManagement.getConfiguration().getConnectionParams(),
                  messagingServerManagement.getConfiguration().isStrictTck() || strictTck,
-                 consumerWindowSize, consumerMaxRate, producerWindowSize, producerMaxRate
+                 consumerWindowSize, consumerMaxRate, producerWindowSize, producerMaxRate,
+                 blockOnAcknowledge
                  );
       }
       for (String jndiBinding : jndiBindings)

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -651,7 +651,7 @@
    {
       log.info("deploying connection factory with name: " + objectName + " and dupsok: " + dupsOkBatchSize);
       getJMSServerManager().createConnectionFactory(objectName, clientId, dupsOkBatchSize,
-      		strictTck, prefetchSize, -1, 1000, -1, jndiBindings);
+      		strictTck, prefetchSize, -1, 1000, -1, false, jndiBindings);
    }
 
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/impl/JMSServerManagerimplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/impl/JMSServerManagerimplTest.java	2008-05-18 13:34:39 UTC (rev 4230)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/impl/JMSServerManagerimplTest.java	2008-05-19 07:46:46 UTC (rev 4231)
@@ -234,7 +234,7 @@
 
    public void testCreateAndDestroyConnectionFactory() throws Exception
    {
-      jmsServerManager.createConnectionFactory("newtestcf", "anid", 100, true, 1000, -1, 1000, -1, "newtestcf");
+      jmsServerManager.createConnectionFactory("newtestcf", "anid", 100, true, 1000, -1, 1000, -1, false, "newtestcf");
       JBossConnectionFactory jbcf = (JBossConnectionFactory) initialContext.lookup("newtestcf");
       assertNotNull(jbcf);
       assertNotNull(jbcf.getDelegate());
@@ -251,7 +251,7 @@
       ArrayList<String> bindings = new ArrayList<String>();
       bindings.add("oranewtestcf");
       bindings.add("newtestcf");
-      jmsServerManager.createConnectionFactory("newtestcf", "anid", 100, true, 1000, -1, 1000, -1, bindings);
+      jmsServerManager.createConnectionFactory("newtestcf", "anid", 100, true, 1000, -1, 1000, -1, false,bindings);
       jbcf = (JBossConnectionFactory) initialContext.lookup("newtestcf");
       assertNotNull(jbcf);
       assertNotNull(jbcf.getDelegate());




More information about the jboss-cvs-commits mailing list