You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2007/10/08 14:39:49 UTC
svn commit: r582801 - in
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq: kaha/
kaha/impl/ store/amq/ store/kahadaptor/
Author: rajdavies
Date: Mon Oct 8 05:39:48 2007
New Revision: 582801
URL: http://svn.apache.org/viewvc?rev=582801&view=rev
Log:
Add properties to the AMQPersistenceAdaptorFactory
to set syncOnWrite(default=false) and persistentIndex(default=true) properties
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/Store.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapter.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaPersistenceAdapter.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaReferenceStoreAdapter.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/Store.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/Store.java?rev=582801&r1=582800&r2=582801&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/Store.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/Store.java Mon Oct 8 05:39:48 2007
@@ -266,4 +266,8 @@
* @return the amount of disk space the store is occupying
*/
long size();
+
+ public boolean isPersistentIndex();
+
+ public void setPersistentIndex(boolean persistentIndex);
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java?rev=582801&r1=582800&r2=582801&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java Mon Oct 8 05:39:48 2007
@@ -438,6 +438,14 @@
persistentIndex = true;
}
}
+
+ public boolean isPersistentIndex() {
+ return persistentIndex;
+ }
+
+ public void setPersistentIndex(boolean persistentIndex) {
+ this.persistentIndex = persistentIndex;
+ }
public synchronized void initialize() throws IOException {
if (closed) {
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?rev=582801&r1=582800&r2=582801&view=diff
==============================================================================
--- 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 Mon Oct 8 05:39:48 2007
@@ -99,6 +99,7 @@
private File directory;
private BrokerService brokerService;
private AtomicLong storeSize = new AtomicLong();
+ private boolean persistentIndex=true;
public String getBrokerName() {
return this.brokerName;
@@ -418,6 +419,14 @@
public void rollbackTransaction(ConnectionContext context) throws IOException {
referenceStoreAdapter.rollbackTransaction(context);
}
+
+ public boolean isPersistentIndex() {
+ return persistentIndex;
+ }
+
+ public void setPersistentIndex(boolean persistentIndex) {
+ this.persistentIndex = persistentIndex;
+ }
/**
* @param location
@@ -605,6 +614,7 @@
protected KahaReferenceStoreAdapter createReferenceStoreAdapter() throws IOException {
KahaReferenceStoreAdapter adaptor = new KahaReferenceStoreAdapter(storeSize);
+ adaptor.setPersistentIndex(isPersistentIndex());
return adaptor;
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java?rev=582801&r1=582800&r2=582801&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/amq/AMQPersistenceAdapterFactory.java Mon Oct 8 05:39:48 2007
@@ -37,6 +37,8 @@
private int journalThreadPriority = Thread.MAX_PRIORITY;
private String brokerName = "localhost";
private ReferenceStoreAdapter referenceStoreAdapter;
+ private boolean syncOnWrite;
+ private boolean persistentIndex;
/**
* @return a AMQPersistenceAdapter
@@ -47,6 +49,8 @@
result.setDirectory(getDataDirectory());
result.setTaskRunnerFactory(getTaskRunnerFactory());
result.setBrokerName(getBrokerName());
+ result.setSyncOnWrite(isSyncOnWrite());
+ result.setPersistentIndex(isPersistentIndex());
result.setReferenceStoreAdapter(getReferenceStoreAdapter());
return result;
}
@@ -127,4 +131,20 @@
public void setReferenceStoreAdapter(ReferenceStoreAdapter referenceStoreAdapter) {
this.referenceStoreAdapter = referenceStoreAdapter;
}
+
+ public boolean isPersistentIndex() {
+ return persistentIndex;
+ }
+
+ public void setPersistentIndex(boolean persistentIndex) {
+ this.persistentIndex = persistentIndex;
+ }
+
+ public boolean isSyncOnWrite() {
+ return syncOnWrite;
+ }
+
+ public void setSyncOnWrite(boolean syncOnWrite) {
+ this.syncOnWrite = syncOnWrite;
+ }
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaPersistenceAdapter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaPersistenceAdapter.java?rev=582801&r1=582800&r2=582801&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaPersistenceAdapter.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaPersistenceAdapter.java Mon Oct 8 05:39:48 2007
@@ -49,6 +49,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import sun.misc.Perf.GetPerfAction;
+
/**
* @org.apache.xbean.XBean
* @version $Revision: 1.4 $
@@ -71,6 +73,7 @@
private Store theStore;
private boolean initialized;
private final AtomicLong storeSize;
+ private boolean persistentIndex = true;
public KahaPersistenceAdapter(AtomicLong size) {
@@ -80,6 +83,7 @@
public KahaPersistenceAdapter() {
this(new AtomicLong());
}
+
public Set<ActiveMQDestination> getDestinations() {
Set<ActiveMQDestination> rc = new HashSet<ActiveMQDestination>();
try {
@@ -244,6 +248,14 @@
public long getMaxDataFileLength() {
return maxDataFileLength;
}
+
+ public boolean isPersistentIndex() {
+ return persistentIndex;
+ }
+
+ public void setPersistentIndex(boolean persistentIndex) {
+ this.persistentIndex = persistentIndex;
+ }
/**
* @param maxDataFileLength the maxDataFileLength to set
@@ -257,6 +269,7 @@
if (theStore == null) {
theStore = StoreFactory.open(getStoreDirectory(), "rw",storeSize);
theStore.setMaxDataFileLength(maxDataFileLength);
+ theStore.setPersistentIndex(isPersistentIndex());
}
return theStore;
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaReferenceStoreAdapter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaReferenceStoreAdapter.java?rev=582801&r1=582800&r2=582801&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaReferenceStoreAdapter.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaReferenceStoreAdapter.java Mon Oct 8 05:39:48 2007
@@ -61,6 +61,7 @@
private ListContainer<SubscriptionInfo> durableSubscribers;
private boolean storeValid;
private Store stateStore;
+ private boolean persistentIndex = true;
public KahaReferenceStoreAdapter(AtomicLong size){
super(size);
@@ -273,6 +274,14 @@
StoreFactory.delete(stateDirectory);
}
}
+
+ public boolean isPersistentIndex() {
+ return persistentIndex;
+ }
+
+ public void setPersistentIndex(boolean persistentIndex) {
+ this.persistentIndex = persistentIndex;
+ }
private Store createStateStore(File directory) {
File stateDirectory = new File(directory, "state");
@@ -292,4 +301,6 @@
protected void removeSubscriberState(SubscriptionInfo info) {
durableSubscribers.remove(info);
}
+
+
}