You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2002/09/06 13:53:00 UTC

cvs commit: jakarta-commons-sandbox/messenger/src/java/org/apache/commons/messenger Messenger.java MessengerSupport.java

jstrachan    2002/09/06 04:53:00

  Modified:    messenger/src/java/org/apache/commons/messenger
                        Messenger.java MessengerSupport.java
  Log:
  Applied Louis Burroughs patch so that queue browsing is supported from a Messenger.
  
  I made a minor change from Louis patch, rather than just returning an Enumeration, I've added a createBrowser() method to return a QueueBrowser that can be close()'d when finished with.
  
  Revision  Changes    Path
  1.13      +10 -2     jakarta-commons-sandbox/messenger/src/java/org/apache/commons/messenger/Messenger.java
  
  Index: Messenger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/messenger/src/java/org/apache/commons/messenger/Messenger.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Messenger.java	17 May 2002 15:05:45 -0000	1.12
  +++ Messenger.java	6 Sep 2002 11:53:00 -0000	1.13
  @@ -20,6 +20,7 @@
   import javax.jms.MessageConsumer;
   import javax.jms.MessageListener;
   import javax.jms.ObjectMessage;
  +import javax.jms.QueueBrowser;
   import javax.jms.StreamMessage;
   import javax.jms.ServerSessionPool;
   import javax.jms.TextMessage;
  @@ -92,6 +93,13 @@
        */
       public MessageConsumer createConsumer(Destination destination, String selector)
           throws JMSException;
  +
  +
  +    /**
  +     * Creates a QueueBrowser for the given Queue
  +     */    
  +    public QueueBrowser createBrowser(Destination destination) throws JMSException;
  +        
   
       /** Allows this current thread to be given to the JMS connection to process messages. This
        * method can be useful for creating background processing threads
  
  
  
  1.31      +31 -2     jakarta-commons-sandbox/messenger/src/java/org/apache/commons/messenger/MessengerSupport.java
  
  Index: MessengerSupport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/messenger/src/java/org/apache/commons/messenger/MessengerSupport.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- MessengerSupport.java	6 Sep 2002 11:28:33 -0000	1.30
  +++ MessengerSupport.java	6 Sep 2002 11:53:00 -0000	1.31
  @@ -27,6 +27,7 @@
   import javax.jms.ObjectMessage;
   import javax.jms.Queue;
   import javax.jms.QueueConnection;
  +import javax.jms.QueueBrowser;
   import javax.jms.QueueRequestor;
   import javax.jms.QueueSender;
   import javax.jms.QueueSession;
  @@ -573,6 +574,20 @@
           getSessionFactory().close();
       }
   
  +    /**
  +     * Creates a browser on the given Queue
  +     */    
  +    public QueueBrowser createBrowser(Destination destination) throws JMSException {
  +        Session session = borrowSession();
  +        QueueBrowser browser = null;
  +        try {
  +            return createBrowser(session, destination);
  +        } 
  +        finally {
  +            returnSession(session);
  +        }
  +    }
  +    
       /** Get the producer's default delivery mode. */
       public int getDeliveryMode(Destination destination) throws JMSException {
           Session session = borrowSession();
  @@ -1034,6 +1049,20 @@
           else {
               QueueSession queueSession = (QueueSession) session;
               return queueSession.createReceiver((Queue) destination, selector);
  +        }
  +    }
  +    
  +    /** @return a new QueueBrowser for the given session and destination */
  +    protected QueueBrowser createBrowser(
  +        Session session,
  +        Destination destination)
  +        throws JMSException {
  +        if (isTopic(session)) {
  +            return null;
  +        } 
  +        else {
  +            QueueSession queueSession = (QueueSession) session;
  +            return queueSession.createBrowser((Queue) destination);
           }
       }
       
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>