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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 14 09:43:18 EST 2009


Author: jmesnil
Date: 2009-01-14 09:43:18 -0500 (Wed, 14 Jan 2009)
New Revision: 5638

Modified:
   trunk/src/main/org/jboss/messaging/core/client/ClientProducer.java
   trunk/src/main/org/jboss/messaging/core/client/ClientRequestor.java
   trunk/src/main/org/jboss/messaging/core/client/ClientSession.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java
   trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ForwarderImpl.java
   trunk/src/main/org/jboss/messaging/util/SimpleString.java
   trunk/tests/src/org/jboss/messaging/tests/integration/wildcard/WildCardRoutingTest.java
Log:
JBMESSAGING-1318: convenient core API methods

added methods taking String instead of SimpleString to make it more convenient for the client to use them


Modified: trunk/src/main/org/jboss/messaging/core/client/ClientProducer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/ClientProducer.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/core/client/ClientProducer.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -38,6 +38,8 @@
 	
    void send(SimpleString address, Message message) throws MessagingException;
    
+   void send(String address, Message message) throws MessagingException;
+
    void registerAcknowledgementHandler(AcknowledgementHandler handler);
    
    void unregisterAcknowledgementHandler(AcknowledgementHandler handler);

Modified: trunk/src/main/org/jboss/messaging/core/client/ClientRequestor.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/ClientRequestor.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/core/client/ClientRequestor.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -21,6 +21,8 @@
  */
 package org.jboss.messaging.core.client;
 
+import static org.jboss.messaging.util.SimpleString.toSimpleString;
+
 import java.util.UUID;
 
 import org.jboss.messaging.core.client.impl.ClientMessageImpl;
@@ -52,6 +54,11 @@
       replyConsumer = queueSession.createConsumer(replyQueue);
    }
 
+   public ClientRequestor(final ClientSession session, final String requestAddress) throws Exception
+   {
+      this(session, toSimpleString(requestAddress));
+   }
+
    public ClientMessage request(final ClientMessage request) throws Exception
    {
       return request(request, 0);

Modified: trunk/src/main/org/jboss/messaging/core/client/ClientSession.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/ClientSession.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/core/client/ClientSession.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -39,6 +39,8 @@
  * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
  * 
  * @author <a href="mailto:ataylor at redhat.com">Andy Taylor</a>
+ * 
+ * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
  */
 public interface ClientSession extends XAResource
 {
@@ -47,38 +49,45 @@
                     SimpleString filterString,
                     boolean durable,
                     boolean temporary) throws MessagingException;
+   void createQueue(String address,
+                    String queueName,
+                    String filterString,
+                    boolean durable,
+                    boolean temporary) throws MessagingException;
 
    void deleteQueue(SimpleString queueName) throws MessagingException;
+   void deleteQueue(String queueName) throws MessagingException;
 
    void addDestination(SimpleString address, boolean durable, boolean temporary) throws MessagingException;
+   void addDestination(String address, boolean durable, boolean temporary) throws MessagingException;
 
    void removeDestination(SimpleString address, boolean durable) throws MessagingException;
+   void removeDestination(String address, boolean durable) throws MessagingException;
 
-   SessionQueueQueryResponseMessage queueQuery(SimpleString queueName) throws MessagingException;
-
-   SessionBindingQueryResponseMessage bindingQuery(SimpleString address) throws MessagingException;
-
    ClientConsumer createConsumer(SimpleString queueName) throws MessagingException;
-
    ClientConsumer createConsumer(SimpleString queueName, SimpleString filterString) throws MessagingException;
-
    ClientConsumer createConsumer(SimpleString queueName, SimpleString filterString, boolean browseOnly) throws MessagingException;
-
    ClientConsumer createConsumer(SimpleString queueName,
                                  SimpleString filterString,
                                  int windowSize,
                                  int maxRate,
                                  boolean browseOnly) throws MessagingException;
 
+   ClientConsumer createConsumer(String queueName) throws MessagingException;
+   ClientConsumer createConsumer(String queueName, String filterString) throws MessagingException;
+   ClientConsumer createConsumer(String queueName, String filterString, boolean browseOnly) throws MessagingException;
+   ClientConsumer createConsumer(String queueName,
+                                 String filterString,
+                                 int windowSize,
+                                 int maxRate,
+                                 boolean browseOnly) throws MessagingException;
+
    ClientConsumer createFileConsumer(File directory, SimpleString queueName) throws MessagingException;
-
    ClientConsumer createFileConsumer(File directory, SimpleString queueName, SimpleString filterString) throws MessagingException;
-
    ClientConsumer createFileConsumer(File directory,
                                      SimpleString queueName,
                                      SimpleString filterString,
                                      boolean browseOnly) throws MessagingException;
-
    ClientConsumer createFileConsumer(File directory,
                                      SimpleString queueName,
                                      SimpleString filterString,
@@ -86,15 +95,44 @@
                                      int maxRate,
                                      boolean browseOnly) throws MessagingException;
 
+   ClientConsumer createFileConsumer(File directory, String queueName) throws MessagingException;
+   ClientConsumer createFileConsumer(File directory, String queueName, String filterString) throws MessagingException;
+   ClientConsumer createFileConsumer(File directory,
+                                     String queueName,
+                                     String filterString,
+                                     boolean browseOnly) throws MessagingException;
+   ClientConsumer createFileConsumer(File directory,
+                                     String queueName,
+                                     String filterString,
+                                     int windowSize,
+                                     int maxRate,
+                                     boolean browseOnly) throws MessagingException;
+
+   /**
+    * Create a producer with no default address.
+    * Address must be specified everytime a message is sent
+    * 
+    * @see ClientProducer#send(SimpleString, org.jboss.messaging.core.message.Message)
+    */
+   ClientProducer createProducer() throws MessagingException;
    ClientProducer createProducer(SimpleString address) throws MessagingException;
-
+   ClientProducer createProducer(SimpleString address, int rate) throws MessagingException;
    ClientProducer createProducer(SimpleString address,
                                  int maxRate,
                                  boolean blockOnNonPersistentSend,
                                  boolean blockOnPersistentSend) throws MessagingException;
 
-   ClientProducer createProducer(SimpleString address, int rate) throws MessagingException;
+   ClientProducer createProducer(String address) throws MessagingException;
+   ClientProducer createProducer(String address, int rate) throws MessagingException;
+   ClientProducer createProducer(String address,
+                                 int maxRate,
+                                 boolean blockOnNonPersistentSend,
+                                 boolean blockOnPersistentSend) throws MessagingException;
 
+   SessionQueueQueryResponseMessage queueQuery(SimpleString queueName) throws MessagingException;
+
+   SessionBindingQueryResponseMessage bindingQuery(SimpleString address) throws MessagingException;
+
    XAResource getXAResource();
 
    void commit() throws MessagingException;

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientProducerImpl.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -22,6 +22,8 @@
 
 package org.jboss.messaging.core.client.impl;
 
+import static org.jboss.messaging.util.SimpleString.toSimpleString;
+
 import java.nio.ByteBuffer;
 
 import org.jboss.messaging.core.client.AcknowledgementHandler;
@@ -133,6 +135,11 @@
 
       doSend(address, msg);
    }
+   
+   public void send(String address, Message message) throws MessagingException
+   {
+      send(toSimpleString(address), message);
+   }
 
    public void registerAcknowledgementHandler(final AcknowledgementHandler handler)
    {

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -21,6 +21,8 @@
  */
 package org.jboss.messaging.core.client.impl;
 
+import static org.jboss.messaging.util.SimpleString.toSimpleString;
+
 import java.io.File;
 import java.util.HashSet;
 import java.util.List;
@@ -242,6 +244,15 @@
 
       channel.sendBlocking(request);
    }
+   
+   public void createQueue(final String address, 
+                           final String queueName, 
+                           final String filterString, 
+                           final boolean durable, 
+                           final boolean temporary) throws MessagingException
+   {
+      createQueue(toSimpleString(address), toSimpleString(queueName), toSimpleString(filterString), durable, temporary);
+   }
 
    public void deleteQueue(final SimpleString queueName) throws MessagingException
    {
@@ -249,6 +260,11 @@
 
       channel.sendBlocking(new SessionDeleteQueueMessage(queueName));
    }
+   
+   public void deleteQueue(final String queueName) throws MessagingException
+   {
+      deleteQueue(toSimpleString(queueName));
+   }
 
    public SessionQueueQueryResponseMessage queueQuery(final SimpleString queueName) throws MessagingException
    {
@@ -260,7 +276,7 @@
 
       return response;
    }
-
+   
    public SessionBindingQueryResponseMessage bindingQuery(final SimpleString address) throws MessagingException
    {
       checkClosed();
@@ -280,6 +296,11 @@
 
       channel.sendBlocking(request);
    }
+   
+   public void addDestination(final String address, final boolean durable, final boolean temporary) throws MessagingException
+   {
+      addDestination(toSimpleString(address), durable, temporary);
+   }
 
    public void removeDestination(final SimpleString address, final boolean durable) throws MessagingException
    {
@@ -289,20 +310,31 @@
 
       channel.sendBlocking(request);
    }
+   
+   public void removeDestination(final String address, final boolean durable) throws MessagingException
+   {
+      removeDestination(toSimpleString(address), durable);
+   }
 
    public ClientConsumer createConsumer(final SimpleString queueName) throws MessagingException
    {
-      checkClosed();
-
       return createConsumer(queueName, null, false);
    }
 
+   public ClientConsumer createConsumer(final String queueName) throws MessagingException
+   {
+      return createConsumer(toSimpleString(queueName));
+   }
+
    public ClientConsumer createConsumer(final SimpleString queueName, final SimpleString filterString) throws MessagingException
    {
-      checkClosed();
-
       return createConsumer(queueName, filterString, consumerWindowSize, consumerMaxRate, false);
    }
+   
+   public ClientConsumer createConsumer(final String queueName, final String filterString) throws MessagingException
+   {
+      return createConsumer(toSimpleString(queueName), toSimpleString(filterString));
+   }
 
    public ClientConsumer createConsumer(final SimpleString queueName,
                                         final SimpleString filterString,
@@ -310,6 +342,13 @@
    {
       return createConsumer(queueName, filterString, consumerWindowSize, consumerMaxRate, browseOnly);
    }
+   
+   public ClientConsumer createConsumer(final String queueName, 
+                                        final String filterString,
+                                        final boolean browseOnly) throws MessagingException
+   {
+      return createConsumer(toSimpleString(queueName), toSimpleString(filterString), browseOnly);
+   }
 
    /*
     * Note, we DO NOT currently support direct consumers (i.e. consumers we're delivery occurs on the remoting thread.
@@ -327,22 +366,39 @@
    {
       return internalCreateConsumer(queueName, filterString, windowSize, browseOnly, null);
    }
+   
+   public ClientConsumer createConsumer(final String queueName,
+                                        final String filterString,
+                                        final int windowSize,
+                                        final int maxRate,
+                                        final boolean browseOnly) throws MessagingException
+   {
+      return createConsumer(toSimpleString(queueName), toSimpleString(filterString), windowSize, maxRate, browseOnly);
+   }
 
    public ClientConsumer createFileConsumer(final File directory, final SimpleString queueName) throws MessagingException
    {
-      checkClosed();
-
       return createFileConsumer(directory, queueName, null, false);
    }
+   
+   public ClientConsumer createFileConsumer(final File directory, final String queueName) throws MessagingException
+   {
+      return createFileConsumer(directory, toSimpleString(queueName));
+   }
 
    public ClientConsumer createFileConsumer(final File directory,
                                             final SimpleString queueName,
                                             final SimpleString filterString) throws MessagingException
    {
-      checkClosed();
-
       return createFileConsumer(directory, queueName, filterString, consumerWindowSize, consumerMaxRate, false);
    }
+   
+   public ClientConsumer createFileConsumer(final File directory, 
+                                            final String queueName, 
+                                            final String filterString) throws MessagingException
+   {
+      return createFileConsumer(directory, toSimpleString(queueName), toSimpleString(filterString));
+   }
 
    public ClientConsumer createFileConsumer(final File directory,
                                             final SimpleString queueName,
@@ -352,6 +408,14 @@
       return createFileConsumer(directory, queueName, filterString, consumerWindowSize, consumerMaxRate, browseOnly);
    }
 
+   public ClientConsumer createFileConsumer(final File directory, 
+                                            final String queueName, 
+                                            final String filterString, 
+                                            final boolean browseOnly) throws MessagingException
+   {
+      return createFileConsumer(directory, toSimpleString(queueName), toSimpleString(filterString), browseOnly);
+   }
+   
    /*
     * Note, we DO NOT currently support direct consumers (i.e. consumers we're delivery occurs on the remoting thread.
     * Direct consumers have issues with blocking and failover.
@@ -369,39 +433,56 @@
    {
       return internalCreateConsumer(queueName, filterString, windowSize, browseOnly, directory);
    }
+   
+   public ClientConsumer createFileConsumer(final File directory,
+                                            final String queueName,
+                                            final String filterString,
+                                            final int windowSize,
+                                            final int maxRate,
+                                            final boolean browseOnly) throws MessagingException
+   {
+      return createFileConsumer(directory, toSimpleString(queueName), toSimpleString(filterString), windowSize, maxRate, browseOnly);
+   }
 
+   public ClientProducer createProducer() throws MessagingException
+   {
+      return createProducer((SimpleString)null);
+   }
+   
    public ClientProducer createProducer(final SimpleString address) throws MessagingException
    {
-      checkClosed();
-
       return createProducer(address, producerMaxRate);
    }
+   
+   public ClientProducer createProducer(final String address) throws MessagingException
+   {
+      return createProducer(toSimpleString(address));
+   }
 
    public ClientProducer createProducer(final SimpleString address, final int maxRate) throws MessagingException
    {
       return createProducer(address, maxRate, blockOnNonPersistentSend, blockOnPersistentSend);
    }
+   
+   public ClientProducer createProducer(final String address, final int rate) throws MessagingException
+   {
+      return createProducer(toSimpleString(address), rate);
+   }
 
    public ClientProducer createProducer(final SimpleString address,
                                         final int maxRate,
                                         final boolean blockOnNonPersistentSend,
                                         final boolean blockOnPersistentSend) throws MessagingException
    {
-      checkClosed();
+      return internalCreateProducer(address, maxRate, blockOnNonPersistentSend, blockOnPersistentSend);
+   }
 
-      ClientProducerInternal producer = new ClientProducerImpl(this,
-                                                               address,
-                                                               maxRate == -1 ? null
-                                                                            : new TokenBucketLimiterImpl(maxRate, false),
-                                                               autoCommitSends && blockOnNonPersistentSend,
-                                                               autoCommitSends && blockOnPersistentSend,
-                                                               autoGroup,
-                                                               minLargeMessageSize,
-                                                               channel);
-
-      addProducer(producer);
-
-      return producer;
+   public ClientProducer createProducer(final String address,
+                                        final int maxRate,
+                                        final boolean blockOnNonPersistentSend,
+                                        final boolean blockOnPersistentSend) throws MessagingException
+   {
+      return createProducer(toSimpleString(address), maxRate, blockOnNonPersistentSend, blockOnPersistentSend);
    }
 
    public XAResource getXAResource()
@@ -1093,6 +1174,28 @@
       return consumer;
    }
 
+   private ClientProducer internalCreateProducer(final SimpleString address,
+                                                 final int maxRate,
+                                                 final boolean blockOnNonPersistentSend,
+                                                 final boolean blockOnPersistentSend) throws MessagingException
+   {
+      checkClosed();
+
+      ClientProducerInternal producer = new ClientProducerImpl(this,
+                                                               address,
+                                                               maxRate == -1 ? null
+                                                                            : new TokenBucketLimiterImpl(maxRate, false),
+                                                               autoCommitSends && blockOnNonPersistentSend,
+                                                               autoCommitSends && blockOnPersistentSend,
+                                                               autoGroup,
+                                                               minLargeMessageSize,
+                                                               channel);
+
+      addProducer(producer);
+
+      return producer;
+   }
+   
    private void checkXA() throws XAException
    {
       if (!xa)

Modified: trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ForwarderImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ForwarderImpl.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ForwarderImpl.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -317,7 +317,7 @@
 
       session.addFailureListener(this);
 
-      producer = session.createProducer(null);
+      producer = session.createProducer();
 
       return true;
    }

Modified: trunk/src/main/org/jboss/messaging/util/SimpleString.java
===================================================================
--- trunk/src/main/org/jboss/messaging/util/SimpleString.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/src/main/org/jboss/messaging/util/SimpleString.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -57,6 +57,22 @@
 	//Cache the string
 	private transient String str;
 	
+   // Static
+	// ----------------------------------------------------------------------
+	
+	/**
+	 * Returns a SimpleString constructed from the <code>string</code> parameter.
+	 * If <code>string</code> is <code>null</code>, the return value will be <code>null</code> too.
+	 */
+	public static SimpleString toSimpleString(final String string)
+	{
+	   if (string == null)
+	   {
+	      return null;
+	   }
+	   return new SimpleString(string);
+	}
+
 	// Constructors
 	// ----------------------------------------------------------------------
 		

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/wildcard/WildCardRoutingTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/wildcard/WildCardRoutingTest.java	2009-01-14 14:42:38 UTC (rev 5637)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/wildcard/WildCardRoutingTest.java	2009-01-14 14:43:18 UTC (rev 5638)
@@ -297,7 +297,7 @@
       clientSession.createQueue(addressAJ, queueName8, null, false, false);
       clientSession.createQueue(addressAK, queueName9, null, false, false);
       clientSession.createQueue(address, queueName, null, false, false);
-      ClientProducer producer = clientSession.createProducer(null);
+      ClientProducer producer = clientSession.createProducer();
       ClientConsumer clientConsumer = clientSession.createConsumer(queueName);
       clientSession.start();
       producer.send(addressAB, createTextMessage("m1", clientSession));
@@ -394,7 +394,7 @@
       clientSession.createQueue(addressAJ, queueName8, null, false, false);
       clientSession.createQueue(addressAK, queueName9, null, false, false);
       clientSession.createQueue(address, queueName, null, false, false);
-      ClientProducer producer = clientSession.createProducer(null);
+      ClientProducer producer = clientSession.createProducer();
       ClientConsumer clientConsumer = clientSession.createConsumer(queueName);
       clientSession.start();
       producer.send(addressAB, createTextMessage("m1", clientSession));




More information about the jboss-cvs-commits mailing list