[hornetq-commits] JBoss hornetq SVN: r8637 - trunk/src/main/org/hornetq/core/client.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Dec 9 06:48:24 EST 2009


Author: ataylor
Date: 2009-12-09 06:48:23 -0500 (Wed, 09 Dec 2009)
New Revision: 8637

Modified:
   trunk/src/main/org/hornetq/core/client/ClientProducer.java
Log:
ClientProducer javadocs

Modified: trunk/src/main/org/hornetq/core/client/ClientProducer.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/ClientProducer.java	2009-12-09 11:22:17 UTC (rev 8636)
+++ trunk/src/main/org/hornetq/core/client/ClientProducer.java	2009-12-09 11:48:23 UTC (rev 8637)
@@ -18,22 +18,43 @@
 import org.hornetq.utils.SimpleString;
 
 /**
+ * A ClientProducer is ised to send messages to a specific address. Messages are then routed on the server to any queues
+ * that are bound to the address. A ClientProducer can either be created with a specific address in mind or with none.
+ * With the latter the address must be provided using the appropriate send() method.  <br><br>
+ *
+ * The sending semantics can change depending on what blocking semantics are set via {@link ClientSessionFactory#setBlockOnDurableSend(boolean)}
+ * and {@link org.hornetq.core.client.ClientSessionFactory#setBlockOnNonDurableSend(boolean)} . If set to true
+ * then for each message type, durable and non durable respectively, any exceptions such as the address not existing or
+ * security exceptions will be thrown at the time of send. Alternatively if set to false then exceptions will only be
+ * logged on the server.      <br><br>
+ *
+ * The send rate can also be controlled via {@link ClientSessionFactory#setProducerMaxRate(int)}
+ * and the {@link org.hornetq.core.client.ClientSessionFactory#setProducerWindowSize(int)}. <br><br>
+ *
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  * @author <a href="mailto:ataylor at redhat.com">Andy Taylor</a>
  */
 public interface ClientProducer
 {
    /**
-    * Return the address where messages will be sent to.
-    * The address can be <code>null</code> if the ClientProducer
-    * was creating without specifying an address with {@link ClientSession#createProducer()}. 
+    * Returns the address where messages will be sent.
+    *
+    * <br><br>The address can be <code>null</code> if the ClientProducer
+    *
+    * was creating without specifying an address, that is by using {@link ClientSession#createProducer()}. 
     * 
     * @return the address where messages will be sent
     */
    SimpleString getAddress();
 
    /**
-    * Send a message.
+    * Sends a message to an address.
+    *
+    * specified in {@link ClientSession#createProducer(String)} or similar methods.
+    *
+    * <br><br>This will block until confirmation that the message has reached the server has been received if
+    * {@link ClientSessionFactory#setBlockOnDurableSend(boolean)} or {@link org.hornetq.core.client.ClientSessionFactory#setBlockOnNonDurableSend(boolean)}
+    * are set to <code>true</code>  for the specified message type.
     * 
     * @param message the message to send
     * @throws HornetQException if an exception occurs while sending the message
@@ -41,8 +62,12 @@
    void send(Message message) throws HornetQException;
 
    /**
-    * Send a message to the specified address instead of the ClientProducer's address.
-    * 
+    * Sends a message to the specified address instead of the ClientProducer's address.
+    *
+    * <br><br>This will block until confirmation that the message has reached the server has been received if
+    * {@link ClientSessionFactory#setBlockOnDurableSend(boolean)} or {@link org.hornetq.core.client.ClientSessionFactory#setBlockOnNonDurableSend(boolean)}
+    * are set to true for the specified message type.
+    *
     * @param address the address where the message will be sent
     * @param message the message to send
     * @throws HornetQException if an exception occurs while sending the message
@@ -50,8 +75,12 @@
    void send(SimpleString address, Message message) throws HornetQException;
 
    /**
-    * Send a message to the specified address instead of the ClientProducer's address.
-    * 
+    * Sends a message to the specified address instead of the ClientProducer's address.
+    *
+    * <br><br>This will block until confirmation that the message has reached the server has been received if
+    * {@link ClientSessionFactory#setBlockOnDurableSend(boolean)} or {@link org.hornetq.core.client.ClientSessionFactory#setBlockOnNonDurableSend(boolean)}
+    * are set to true for the specified message type.
+    *
     * @param address the address where the message will be sent
     * @param message the message to send
     * @throws HornetQException if an exception occurs while sending the message
@@ -59,37 +88,37 @@
    void send(String address, Message message) throws HornetQException;
 
    /**
-    * Close the ClientProducer.
+    * Closes the ClientProducer. If already closed nothing is done.
     * 
     * @throws HornetQException if an exception occurs while closing the producer
     */
    void close() throws HornetQException;
 
    /**
-    * Return whether the producer is closed or not.
+    * Returns whether the producer is closed or not.
     * 
     * @return <code>true</code> if the producer is closed, <code>false</code> else
     */
    boolean isClosed();
 
    /**
-    * Return whether the producer will block when sending <em>durable</em> messages.
+    * Returns whether the producer will block when sending <em>durable</em> messages.
     * 
     * @return <code>true</code> if the producer blocks when sending durable, <code>false</code> else
     */
    boolean isBlockOnDurableSend();
 
    /**
-    * Return whether the producer will block when sending <em>non-durable</em> messages.
+    * Returns whether the producer will block when sending <em>non-durable</em> messages.
     * 
     * @return <code>true</code> if the producer blocks when sending non-durable, <code>false</code> else
     */
    boolean isBlockOnNonDurableSend();
 
    /**
-    * Return the producer maximum rate.
+    * Returns the maximum rate at which a ClientProducer can send messages per second.
     * 
-    * @return the producer maximum rate
+    * @return the producers maximum rate
     */
    int getMaxRate();
 }



More information about the hornetq-commits mailing list