User: norbert 
  Date: 00/05/19 12:28:49

  Modified:    src/java/org/spyderMQ JMSServer.java JMSServerQueue.java
                        SpyConnection.java SpySession.java
  Log:
  Here we are... There's a parser for selctors.
  
  Revision  Changes    Path
  1.30      +12 -1     spyderMQ/src/java/org/spyderMQ/JMSServer.java
  
  Index: JMSServer.java
  ===================================================================
  RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spyderMQ/JMSServer.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- JMSServer.java    2000/05/18 20:20:56     1.29
  +++ JMSServer.java    2000/05/19 19:28:49     1.30
  @@ -11,6 +11,7 @@
   import javax.jms.TemporaryTopic;
   import javax.jms.TemporaryQueue;
   import javax.jms.Topic;
  +import javax.jms.Queue;
   import java.util.LinkedList;
   import java.util.HashMap;
   import java.util.Iterator;
  @@ -20,7 +21,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.29 $
  + *   @version $Revision: 1.30 $
    */
   public class JMSServer 
                implements Runnable 
  @@ -299,5 +300,15 @@
        public void checkID(String ID) throws JMSException
        {
                securityManager.addClientID(ID);
  +     }
  +     
  +     public SpyMessage queueReceiveNoWait(Queue queue) throws JMSException
  +     {
  +             Log.log("JMSserver: queueReceiveNoWait(queue="+queue+")");
  +             
  +             JMSServerQueue serverQueue=(JMSServerQueue)messageQueue.get(queue);
  +             if (serverQueue==null) throw new JMSException("This destination does 
not exist !");
  +             
  +             return serverQueue.queueReceiveNoWait();
        }
   }
  
  
  
  1.27      +11 -9     spyderMQ/src/java/org/spyderMQ/JMSServerQueue.java
  
  Index: JMSServerQueue.java
  ===================================================================
  RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spyderMQ/JMSServerQueue.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- JMSServerQueue.java       2000/05/18 20:20:56     1.26
  +++ JMSServerQueue.java       2000/05/19 19:28:49     1.27
  @@ -18,7 +18,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.26 $
  + *   @version $Revision: 1.27 $
    */
   public class JMSServerQueue
   {
  @@ -55,14 +55,8 @@
                alreadyInTaskQueue=false;
                temporaryDestination=temporary;
                this.server=server;
  -             
  -             if (dest instanceof SpyTopic) {
  -                     isTopic=true;
  -                     messagesWaitingForAck=null;
  -             } else {
  -                     isTopic=false;
  -                     messagesWaitingForAck=new LinkedList();
  -             }
  +             messagesWaitingForAck=new LinkedList();
  +             isTopic=dest instanceof SpyTopic;
        }
        
        // Package protected ---------------------------------------------
  @@ -248,6 +242,14 @@
                        
                        Log.log("Queue :)");
                        
  +             }
  +     }
  +     
  +     SpyMessage queueReceiveNoWait()
  +     {
  +             synchronized (messages) {
  +                     if (messages.size()==0) return null;
  +                     return (SpyMessage)messages.removeFirst();
                }
        }
                
  
  
  
  1.29      +11 -1     spyderMQ/src/java/org/spyderMQ/SpyConnection.java
  
  Index: SpyConnection.java
  ===================================================================
  RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spyderMQ/SpyConnection.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- SpyConnection.java        2000/05/18 02:10:04     1.28
  +++ SpyConnection.java        2000/05/19 19:28:49     1.29
  @@ -29,7 +29,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.28 $
  + *   @version $Revision: 1.29 $
    */
   public class SpyConnection 
                implements Connection, Serializable
  @@ -335,6 +335,16 @@
   
                //This session should not be in the subscribers object anymore. 
                //We could check this, though
  +     }
  +     
  +     SpyMessage queueReceiveNoWait(Queue queue) throws JMSException 
  +     {
  +             try {
  +                     return provider.queueReceiveNoWait(queue);
  +             } catch (Exception e) {
  +                     failureHandler(e,"Cannot create a ConnectionReceiver");
  +                     return null;
  +             }
        }
        
        // Protected -------------------------------------------------------
  
  
  
  1.14      +4 -3      spyderMQ/src/java/org/spyderMQ/SpySession.java
  
  Index: SpySession.java
  ===================================================================
  RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spyderMQ/SpySession.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- SpySession.java   2000/05/18 20:20:57     1.13
  +++ SpySession.java   2000/05/19 19:28:49     1.14
  @@ -28,7 +28,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.13 $
  + *   @version $Revision: 1.14 $
    */
   public class SpySession 
        implements Runnable, Session
  @@ -243,7 +243,8 @@
                }
        }
   
  -    public synchronized void close() throws JMSException
  +     //CHECK for queues !
  +     public synchronized void close() throws JMSException
        {
                if (closed) return;
                closed=true;
  @@ -263,7 +264,7 @@
                        Iterator i2=set.iterator();
                        while (i2.hasNext()) {
                                SessionQueue sessionQueue=(SessionQueue)i2.next();
  -                             //close() each SessionQueue (  MessageConsumer ) 
linked to this Session
  +                             //close() each SessionQueue (MessageConsumer) linked 
to this Session
                                sessionQueue.destination.close();
                        }
                }       
  
  
  

Reply via email to