You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by js...@apache.org on 2007/03/09 16:47:06 UTC

svn commit: r516439 - in /activemq/trunk/activemq-core/src/main/java/org/apache/activemq: broker/BrokerService.java store/amq/AMQPersistenceAdapter.java

Author: jstrachan
Date: Fri Mar  9 07:47:05 2007
New Revision: 516439

URL: http://svn.apache.org/viewvc?view=rev&rev=516439
Log:
Use the broker name in the directory used for the AMQStore and temp-store area

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java?view=diff&rev=516439&r1=516438&r2=516439
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java Fri Mar  9 07:47:05 2007
@@ -550,12 +550,17 @@
 
     public File getDataDirectory() {
         if (dataDirectory == null) {
-            dataDirectory = new File(new File(IOHelper.getDefaultDataDirectory()), getBrokerName()
-                    .replaceAll("[^a-zA-Z0-9\\.\\_\\-]", "_"));
+            dataDirectory = new File(IOHelper.getDefaultDataDirectory());
         }
         return dataDirectory;
     }
 
+    public File getBrokerDataDirectory() {
+        String brokerDir = getBrokerName().replaceAll("[^a-zA-Z0-9\\.\\_\\-]", "_");
+        return new File(getDataDirectory(), brokerDir);
+    }
+
+
     /**
      * Sets the directory in which the data files will be stored by default for
      * the JDBC and Journal persistence adaptors.
@@ -572,7 +577,7 @@
      */
     public File getTmpDataDirectory(){
         if (tmpDataDirectory == null) {
-            tmpDataDirectory = new File(getDataDirectory(), "tmp_storage");
+            tmpDataDirectory = new File(getBrokerDataDirectory(), "tmp_storage");
         }
         return tmpDataDirectory;
     }
@@ -1411,7 +1416,7 @@
 
     protected AMQPersistenceAdapterFactory createPersistenceFactory() {
         AMQPersistenceAdapterFactory factory = new AMQPersistenceAdapterFactory();
-        factory.setDataDirectory(getDataDirectory());
+        factory.setDataDirectory(getBrokerDataDirectory());
         factory.setTaskRunnerFactory(getPersistenceTaskRunnerFactory());
         factory.setBrokerName(getBrokerName());
         return factory;

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java?view=diff&rev=516439&r1=516438&r2=516439
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java Fri Mar  9 07:47:05 2007
@@ -25,6 +25,8 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.activeio.journal.Journal;
 import org.apache.activemq.broker.ConnectionContext;
+import org.apache.activemq.broker.BrokerServiceAware;
+import org.apache.activemq.broker.BrokerService;
 import org.apache.activemq.command.ActiveMQDestination;
 import org.apache.activemq.command.ActiveMQQueue;
 import org.apache.activemq.command.ActiveMQTopic;
@@ -70,7 +72,7 @@
  * 
  * @version $Revision: 1.17 $
  */
-public class AMQPersistenceAdapter implements PersistenceAdapter,UsageListener{
+public class AMQPersistenceAdapter implements PersistenceAdapter, UsageListener, BrokerServiceAware {
 
     private static final Log log=LogFactory.getLog(AMQPersistenceAdapter.class);
     private final ConcurrentHashMap<ActiveMQQueue,AMQMessageStore> queues=new ConcurrentHashMap<ActiveMQQueue,AMQMessageStore>();
@@ -94,6 +96,7 @@
     private boolean syncOnWrite;
     private String brokerName="";
     private File directory;
+    private BrokerService brokerService;
 
     public String getBrokerName(){
         return this.brokerName;
@@ -106,14 +109,29 @@
         }
     }
 
+    public BrokerService getBrokerService() {
+        return brokerService;
+    }
+
+    public void setBrokerService(BrokerService brokerService) {
+        this.brokerService = brokerService;
+    }
+
     public synchronized void start() throws Exception{
         if(!started.compareAndSet(false,true))
             return;
-        if(this.directory==null){
-            this.directory=new File(IOHelper.getDefaultDataDirectory(),brokerName);
+        if(this.directory==null) {
+            if (brokerService != null) {
+                this.directory = brokerService.getBrokerDataDirectory();
+            }
+            else {
+                this.directory=new File(IOHelper.getDefaultDataDirectory(),brokerName);
+                this.directory=new File(directory,"amqstore");
+            }
         }
-        this.directory=new File(directory,"amqstore");
+        log.info("AMQStore starting using directory: " + directory);
         this.directory.mkdirs();
+
         if(this.usageManager!=null){
             this.usageManager.addUsageListener(this);
         }
@@ -123,7 +141,7 @@
         if(referenceStoreAdapter==null){
             referenceStoreAdapter=createReferenceStoreAdapter();
         }
-        referenceStoreAdapter.setDirectory(new File(directory,"kaha-reference-store"));
+        referenceStoreAdapter.setDirectory(new File(directory,"kr-store"));
         referenceStoreAdapter.setBrokerName(getBrokerName());
         referenceStoreAdapter.setUsageManager(usageManager);
         if(taskRunnerFactory==null){