User: chirino 
  Date: 01/10/27 18:27:00

  Modified:    src/main/org/jboss/mq/pm/jdbc PersistenceManager.java
  Log:
  Commiting my initial implementation of a message cache for the JBossMQ messages.  
This should allow the server to scale so it can hold a larger number of message.
  
  Revision  Changes    Path
  1.8       +10 -5     jbossmq/src/main/org/jboss/mq/pm/jdbc/PersistenceManager.java
  
  Index: PersistenceManager.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/pm/jdbc/PersistenceManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PersistenceManager.java   2001/09/04 15:06:51     1.7
  +++ PersistenceManager.java   2001/10/28 01:27:00     1.8
  @@ -31,6 +31,7 @@
   import org.jboss.mq.pm.TxManager;
   import org.jboss.mq.SpyMessage;
   import org.jboss.mq.SpyJMSException;
  +import org.jboss.mq.server.MessageReference;
   
   import org.jboss.system.ServiceMBeanSupport;
   
  @@ -40,7 +41,7 @@
    *
    * @author: Jayesh Parayali ([EMAIL PROTECTED])
    *
  - *  @version $Revision: 1.7 $
  + *  @version $Revision: 1.8 $
    */
   public class PersistenceManager extends ServiceMBeanSupport implements 
PersistenceManagerMBean, org.jboss.mq.pm.PersistenceManager {
   
  @@ -191,9 +192,10 @@
   
      }
   
  -   public void add(org.jboss.mq.SpyMessage message, org.jboss.mq.pm.Tx txId) throws 
javax.jms.JMSException {
  +   public void add(MessageReference messageRef, org.jboss.mq.pm.Tx txId) throws 
javax.jms.JMSException {
          LogInfo logInfo;
  -
  +      SpyMessage message = messageRef.getMessage();
  +      
          synchronized (messageLogs) {
                 logInfo= (LogInfo) messageLogs.get("" + message.getJMSDestination());
          }
  @@ -249,8 +251,9 @@
          return txManager;
      }
   
  -   public void remove(org.jboss.mq.SpyMessage message, org.jboss.mq.pm.Tx txId) 
throws javax.jms.JMSException {
  +   public void remove(MessageReference messageRef, org.jboss.mq.pm.Tx txId) throws 
javax.jms.JMSException {
          LogInfo logInfo;
  +      SpyMessage message = messageRef.getMessage();
   
          synchronized (messageLogs) {
                 logInfo= (LogInfo) messageLogs.get("" + message.getJMSDestination());
  @@ -292,10 +295,12 @@
   
                 SpyMessage rebuild[]= logInfo.log.restore(committingTXs, 
q.toString());
   
  +              org.jboss.mq.server.MessageCache cache = 
JMSServer.getInstance().getMessageCache();
                 //TODO: make sure this lock is good enough
                 synchronized (q) {
                        for (int i= 0; i < rebuild.length; i++) {
  -                        q.restoreMessage(rebuild[i]);
  +                        MessageReference mr = cache.add(rebuild[i]);
  +                        q.restoreMessage(mr);
                        }
                 }
          }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to