User: norbert 
  Date: 00/07/07 15:37:22

  Modified:    src/java/org/spydermq SpyConnection.java SpyMessage.java
                        SpySession.java SpyTopicSession.java
  Log:
  First shot for persistence :
  Use an fs based persistence system
  
  Revision  Changes    Path
  1.12      +1 -7      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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SpyConnection.java        2000/07/07 21:37:31     1.11
  +++ SpyConnection.java        2000/07/07 22:37:21     1.12
  @@ -31,7 +31,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.11 $
  + *   @version $Revision: 1.12 $
    */
   public class SpyConnection 
        implements Connection, Serializable
  @@ -268,12 +268,6 @@
                                }
                                
                        }*/
  -                     
  -                     //Handle persistence
  -                     for(int i=0;i<mes.length;i++) {                         
  -                             if ((new 
File(mes[i].getJMSMessageID())).delete()==false) 
  -                                     Log.log("Error: cannot delete file 
"+mes[i].getJMSMessageID());
  -                     }
                        
                        provider.newMessage(mes,clientID);
                                                
  
  
  
  1.5       +2 -1      spyderMQ/src/java/org/spydermq/SpyMessage.java
  
  Index: SpyMessage.java
  ===================================================================
  RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spydermq/SpyMessage.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SpyMessage.java   2000/07/07 21:37:31     1.4
  +++ SpyMessage.java   2000/07/07 22:37:21     1.5
  @@ -21,7 +21,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.4 $
  + *   @version $Revision: 1.5 $
    */
   public class SpyMessage 
        implements Serializable, Cloneable, Message
  @@ -36,6 +36,7 @@
        // Attributes ----------------------------------------------------
   
        public boolean persistent=false;
  +     public transient boolean removed=false;
        
        //Those attributes are not transient ---------------
        
  
  
  
  1.8       +18 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SpySession.java   2000/06/15 23:21:40     1.7
  +++ SpySession.java   2000/07/07 22:37:21     1.8
  @@ -17,6 +17,7 @@
   import javax.jms.StreamMessage;
   import javax.jms.TextMessage;
   import java.io.Serializable;
  +import java.io.File;
   import java.util.LinkedList;
   import java.util.HashMap;
   import java.util.HashSet;
  @@ -28,7 +29,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.7 $
  + *   @version $Revision: 1.8 $
    */
   public class SpySession 
        implements Runnable, Session
  @@ -205,8 +206,22 @@
                        }
                                
                        if (outgoingJob!=null) {                                       
 
  -                             try {
  -                                     //Check for outdated messages !
  +                             try {                                                  
                                                         
  +                                     
  +                                     //Check for outdated messages !                
                                                         
  +                                     for(int i=0;i<outgoingJob.length;i++) {
  +                                             SpyMessage m=outgoingJob[i];
  +                                             if (m.persistent) {
  +                                                     if (m.removed) {
  +                                                             //Log.log("DELETE file 
"+outgoingJob[i].getJMSMessageID());
  +                                                             //persitenceList.add();
  +                                                             if ((new 
File(m.getJMSMessageID())).delete()==false) 
  +                                                                     
Log.error("Cannot delete file "+m.getJMSMessageID());
  +                                                     } else m.removed=true;
  +                                             }
  +                                     }
  +                                                                                    
                 
  +                                     //Send to the server
                                        connection.sendToServer(outgoingJob);
                                        doneJob=true;
                                } catch (JMSException e) {
  
  
  
  1.5       +8 -4      spyderMQ/src/java/org/spydermq/SpyTopicSession.java
  
  Index: SpyTopicSession.java
  ===================================================================
  RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spydermq/SpyTopicSession.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SpyTopicSession.java      2000/07/07 21:37:31     1.4
  +++ SpyTopicSession.java      2000/07/07 22:37:21     1.5
  @@ -28,7 +28,7 @@
    *      
    *   @author Norbert Lataille ([EMAIL PROTECTED])
    * 
  - *   @version $Revision: 1.4 $
  + *   @version $Revision: 1.5 $
    */
   public class SpyTopicSession 
        extends SpySession 
  @@ -173,9 +173,13 @@
                //First shot : use a fs based persistence system
                try {
                        if (m.persistent) {
  -                             ObjectOutputStream output=new ObjectOutputStream(new 
FileOutputStream(m.getJMSMessageID()));
  -                             output.writeObject(m);
  -                             output.close();
  +                             //Log.log("ADD file "+m.getJMSMessageID());
  +                             if (m.removed==false) {
  +                                     ObjectOutputStream output=new 
ObjectOutputStream(new FileOutputStream(m.getJMSMessageID()));
  +                                     output.writeObject(m);
  +                                     output.close();                         
  +                                     m.removed=true;                                
 
  +                             }
                        }
                } catch (IOException e) {
                        Log.log(e);
  
  
  

Reply via email to