User: user57  
  Date: 02/02/12 20:26:38

  Modified:    src/main/org/jboss/mq/pm/rollinglogged
                        PersistenceManager.java
                        PersistenceManagerMBean.java
  Log:
   o These are all kinda related, so I am commiting them together
   o This is the second half of the migration to using ObjectName OBJECT_NAME
   o Not using jboss.system.* properties anywhere (one place in testsuite
     which I am ignoring for now)
   o StateManager will now read its config from a url (configURL), and only
     attempt to write it back out if that is a file URL.  Need to fix this
     to not need to write back to a config file.
   o Still setting jboss.home & jboss.system.home, but use ServerConfigMBean
     to get the proper bits, will eventually abstract all file access out
   o Added a simple locator to find a mbean server.  This is trivial code,
     but helps clean up client code and makes it obvious what it does.
  
  Revision  Changes    Path
  1.17      +34 -43    
jbossmq/src/main/org/jboss/mq/pm/rollinglogged/PersistenceManager.java
  
  Index: PersistenceManager.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/pm/rollinglogged/PersistenceManager.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- PersistenceManager.java   3 Jan 2002 04:00:54 -0000       1.16
  +++ PersistenceManager.java   13 Feb 2002 04:26:38 -0000      1.17
  @@ -4,9 +4,8 @@
    * Distributable under LGPL license.
    * See terms of license at gnu.org.
    */
  -package org.jboss.mq.pm.rollinglogged;
  -
   
  +package org.jboss.mq.pm.rollinglogged;
   
   import java.io.File;
   import java.net.URL;
  @@ -33,17 +32,19 @@
   import org.jboss.system.ServiceMBeanSupport;
   import org.jboss.mq.server.MessageReference;
   import org.jboss.mq.server.MessageCache;
  +import org.jboss.system.ServerConfigMBean;
   
   /**
    *  This class manages all persistence related services.
    *
    * @author     David Maplesden ([EMAIL PROTECTED])
    * @author <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version    $Revision: 1.16 $
  + * @version    $Revision: 1.17 $
    */
  -public class PersistenceManager extends ServiceMBeanSupport implements 
org.jboss.mq.pm.PersistenceManager, PersistenceManagerMBean
  +public class PersistenceManager
  +   extends ServiceMBeanSupport
  +   implements org.jboss.mq.pm.PersistenceManager, PersistenceManagerMBean
   {
  -
      public final static int ROLL_OVER_SIZE = 1000;
      public final static String TRANS_FILE_NAME = "transactions.dat";
      public final static boolean DEBUG = false;
  @@ -69,7 +70,7 @@
      HashMap transToTxLogs = new HashMap();
   
      // The directory where persistence data should be stored
  -   File dataDirFile;
  +   File dataDir;
      TxManager txManager;
   
      private String dataDirectory;
  @@ -134,16 +135,6 @@
   
   
      /**
  -    *  Gets the Name attribute of the PersistenceManager object
  -    *
  -    * @return    The Name value
  -    */
  -   public String getName()
  -   {
  -      return "JBossMQ-PersistenceManager";
  -   }
  -
  -   /**
       *  getTxManager method comment.
       *
       * @return    The TxManager value
  @@ -198,7 +189,7 @@
               {
                  try
                  {
  -                  SpyMessageLog log = new SpyMessageLog(new File(dataDirFile, 
destName + ".dat" + numRollOvers));
  +                  SpyMessageLog log = new SpyMessageLog(new File(dataDir, destName 
+ ".dat" + numRollOvers));
                     logInfo = new LogInfo(log, dest, currentTxLog);
                     logs.put(destName, logInfo);
                  }
  @@ -286,33 +277,33 @@
      }
   
   
  -
      /**
  -    * Describe <code>startService</code> method here.
  -    *
  -    * @exception Exception if an error occurs
  +    * Setup the data directory, where messages will be stored, connects
  +    * to the message cache and restores transactions.
       */
      public void startService() throws Exception
      {
         log.debug("Using new rolling logged persistence manager.");
   
  -      log.warn("using jboss.system.home property");
  -      File jbossHome = new File(System.getProperty("jboss.system.home"));
  -      dataDirFile = new File(jbossHome, dataDirectory);
  -      dataDirFile.mkdirs();
  -      if( !dataDirFile.isDirectory() )
  -         throw new Exception("The data directory is not valid: 
"+dataDirFile.getCanonicalPath());
  -
  -      messageCache = (MessageCache)getServer().invoke(messageCacheName, 
"getInstance", new Object[] {}, new String[] {});
  +      // Get the system home directory (may want to use dataDir)
  +      File systemHomeDir = (File)
  +         server.getAttribute(ServerConfigMBean.OBJECT_NAME, "HomeDir");
  +      
  +      dataDir = new File(systemHomeDir, dataDirectory);
  +      if (log.isDebugEnabled()) {
  +         log.debug("Using data directory: " + dataDir);
  +      }
  +      
  +      dataDir.mkdirs();
  +      if (!dataDir.isDirectory())
  +         throw new Exception("The data directory is not valid: " + 
dataDir.getCanonicalPath());
  +      
  +      messageCache = (MessageCache)
  +         getServer().invoke(messageCacheName,
  +                            "getInstance",
  +                            new Object[0], new String[0]);
   
  -      //read the transaction logs so we can read the queues as they come online.
         restoreTransactions();
  -      /*
  -      JMSServer server = (JMSServer)getServer().invoke(new 
ObjectName(org.jboss.mq.server.JBossMQServiceMBean.OBJECT_NAME), "getJMSServer", new 
Object[]{
  -            }, new String[]{
  -            });
  -      restore(server);
  -*/
      }
   
      /**
  @@ -481,7 +472,7 @@
      {
         TreeSet committedTxs = new TreeSet();
         HashMap txLogs = new HashMap();
  -      java.io.File dir = dataDirFile;
  +      java.io.File dir = dataDir;
         java.io.File[] dataFiles = dir.listFiles();
   
         for (int i = 0; i < dataFiles.length; ++i)
  @@ -644,7 +635,7 @@
   
         TreeSet committedTxs = new TreeSet();
         HashMap txLogs = new HashMap();
  -      java.io.File dir = dataDirFile;
  +      java.io.File dir = dataDir;
         java.io.File[] dataFiles = dir.listFiles();
   
         for (int i = 0; i < dataFiles.length; ++i)
  @@ -731,7 +722,7 @@
         try
         {
   
  -         File txLogFile = new File(dataDirFile, TRANS_FILE_NAME + numRollOvers);
  +         File txLogFile = new File(dataDir, TRANS_FILE_NAME + numRollOvers);
            currentTxLog = new SpyTxLog(txLogFile);
            messageLogs.put(currentTxLog, new HashMap());
   
  @@ -739,7 +730,7 @@
            {
               SpyDestination dest = (SpyDestination)it.next();
               String key = "" + dest;
  -            File logFile = new File(dataDirFile, dest.toString() + ".dat" + 
numRollOvers);
  +            File logFile = new File(dataDir, dest.toString() + ".dat" + 
numRollOvers);
               SpyMessageLog log = new SpyMessageLog(logFile);
   
               synchronized (messageLogs)
  @@ -869,13 +860,13 @@
         {
            HashMap logs = new HashMap();
            ++numRollOvers;
  -         SpyTxLog newTxLog = new SpyTxLog(new File(dataDirFile, TRANS_FILE_NAME + 
numRollOvers));
  +         SpyTxLog newTxLog = new SpyTxLog(new File(dataDir, TRANS_FILE_NAME + 
numRollOvers));
   
            for (Iterator it = queues.values().iterator(); it.hasNext(); )
            {
               SpyDestination spyDest = (SpyDestination)it.next();
               //String destName = spyDest.toString();
  -            // SpyMessageLog log = new SpyMessageLog(new File(dataDirFile, destName 
+ ".dat" + numRollOvers));
  +            // SpyMessageLog log = new SpyMessageLog(new File(dataDir, destName + 
".dat" + numRollOvers));
               //LogInfo logInfo = new LogInfo(log, dest, newTxLog);
               logs.put(spyDest.toString(), newQueueInfo(spyDest, newTxLog));
            }
  @@ -900,7 +891,7 @@
         try 
         {
            String destName = spyDest.toString();
  -         SpyMessageLog log = new SpyMessageLog(messageCache, new File(dataDirFile, 
destName + ".dat" + numRollOvers));
  +         SpyMessageLog log = new SpyMessageLog(messageCache, new File(dataDir, 
destName + ".dat" + numRollOvers));
            return new LogInfo(log, spyDest, txLog);
         } 
         catch (Exception e) 
  
  
  
  1.6       +7 -9      
jbossmq/src/main/org/jboss/mq/pm/rollinglogged/PersistenceManagerMBean.java
  
  Index: PersistenceManagerMBean.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/pm/rollinglogged/PersistenceManagerMBean.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PersistenceManagerMBean.java      10 Nov 2001 21:38:05 -0000      1.5
  +++ PersistenceManagerMBean.java      13 Feb 2002 04:26:38 -0000      1.6
  @@ -4,34 +4,32 @@
    * Distributable under LGPL license.
    * See terms of license at gnu.org.
    */
  +
   package org.jboss.mq.pm.rollinglogged;
   
  -import javax.management.ObjectName;
   import org.jboss.system.ServiceMBean;
   
   /**
  - *  <description>MBean interface for the JBossMQ JMX service.
  + * MBean interface for the JBossMQ JMX service.
    *
    * @author     Vincent Sheffer ([EMAIL PROTECTED])
  - * @see        <related>
  - * @version    $Revision: 1.5 $
  + * @version    $Revision: 1.6 $
    */
   public interface PersistenceManagerMBean
      extends ServiceMBean, org.jboss.mq.pm.PersistenceManagerMBean
   {
  -
      /**
  -    *  Gets the DataDirectory attribute of the PersistenceManagerMBean object
  +    * Gets the DataDirectory attribute of the PersistenceManagerMBean object
       *
       * @return    The DataDirectory value
       */
  -   public java.lang.String getDataDirectory();
  +   String getDataDirectory();
   
      /**
  -    *  Sets the DataDirectory attribute of the PersistenceManagerMBean object
  +    * Sets the DataDirectory attribute of the PersistenceManagerMBean object
       *
       * @param  newDataDirectory  The new DataDirectory value
       */
  -   public void setDataDirectory(java.lang.String newDataDirectory);
  +   void setDataDirectory(String newDataDirectory);
   
   }
  
  
  

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

Reply via email to