Expose properties for configuring the asyncDataManager

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@583949 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Davies 2007-10-11 20:58:25 +00:00
parent a9119eca19
commit cdf35dfe12
3 changed files with 52 additions and 0 deletions

View File

@ -564,4 +564,12 @@ public final class AsyncDataManager {
this.lastAppendLocation.set(lastSyncedLocation); this.lastAppendLocation.set(lastSyncedLocation);
} }
public boolean isUseNio() {
return useNio;
}
public void setUseNio(boolean useNio) {
this.useNio = useNio;
}
} }

View File

@ -100,6 +100,9 @@ public class AMQPersistenceAdapter implements PersistenceAdapter, UsageListener,
private BrokerService brokerService; private BrokerService brokerService;
private AtomicLong storeSize = new AtomicLong(); private AtomicLong storeSize = new AtomicLong();
private boolean persistentIndex=true; private boolean persistentIndex=true;
private boolean useNio = true;
private int maxFileLength = AsyncDataManager.DEFAULT_MAX_FILE_LENGTH;
public String getBrokerName() { public String getBrokerName() {
return this.brokerName; return this.brokerName;
@ -609,6 +612,8 @@ public class AMQPersistenceAdapter implements PersistenceAdapter, UsageListener,
protected AsyncDataManager createAsyncDataManager() { protected AsyncDataManager createAsyncDataManager() {
AsyncDataManager manager = new AsyncDataManager(storeSize); AsyncDataManager manager = new AsyncDataManager(storeSize);
manager.setDirectory(new File(directory, "journal")); manager.setDirectory(new File(directory, "journal"));
manager.setMaxFileLength(maxFileLength);
manager.setUseNio(useNio);
return manager; return manager;
} }
@ -706,4 +711,20 @@ public class AMQPersistenceAdapter implements PersistenceAdapter, UsageListener,
public long size(){ public long size(){
return storeSize.get(); return storeSize.get();
} }
public boolean isUseNio() {
return useNio;
}
public void setUseNio(boolean useNio) {
this.useNio = useNio;
}
public int getMaxFileLength() {
return maxFileLength;
}
public void setMaxFileLength(int maxFileLength) {
this.maxFileLength = maxFileLength;
}
} }

View File

@ -17,6 +17,8 @@
package org.apache.activemq.store.amq; package org.apache.activemq.store.amq;
import java.io.File; import java.io.File;
import org.apache.activemq.kaha.impl.async.AsyncDataManager;
import org.apache.activemq.store.PersistenceAdapter; import org.apache.activemq.store.PersistenceAdapter;
import org.apache.activemq.store.PersistenceAdapterFactory; import org.apache.activemq.store.PersistenceAdapterFactory;
import org.apache.activemq.store.ReferenceStoreAdapter; import org.apache.activemq.store.ReferenceStoreAdapter;
@ -39,6 +41,9 @@ public class AMQPersistenceAdapterFactory implements PersistenceAdapterFactory {
private ReferenceStoreAdapter referenceStoreAdapter; private ReferenceStoreAdapter referenceStoreAdapter;
private boolean syncOnWrite; private boolean syncOnWrite;
private boolean persistentIndex=true; private boolean persistentIndex=true;
private boolean useNio = true;
private int maxFileLength = AsyncDataManager.DEFAULT_MAX_FILE_LENGTH;
/** /**
* @return a AMQPersistenceAdapter * @return a AMQPersistenceAdapter
@ -52,6 +57,8 @@ public class AMQPersistenceAdapterFactory implements PersistenceAdapterFactory {
result.setSyncOnWrite(isSyncOnWrite()); result.setSyncOnWrite(isSyncOnWrite());
result.setPersistentIndex(isPersistentIndex()); result.setPersistentIndex(isPersistentIndex());
result.setReferenceStoreAdapter(getReferenceStoreAdapter()); result.setReferenceStoreAdapter(getReferenceStoreAdapter());
result.setUseNio(isUseNio());
result.setMaxFileLength(getMaxFileLength());
return result; return result;
} }
@ -147,4 +154,20 @@ public class AMQPersistenceAdapterFactory implements PersistenceAdapterFactory {
public void setSyncOnWrite(boolean syncOnWrite) { public void setSyncOnWrite(boolean syncOnWrite) {
this.syncOnWrite = syncOnWrite; this.syncOnWrite = syncOnWrite;
} }
public boolean isUseNio() {
return useNio;
}
public void setUseNio(boolean useNio) {
this.useNio = useNio;
}
public int getMaxFileLength() {
return maxFileLength;
}
public void setMaxFileLength(int maxFileLength) {
this.maxFileLength = maxFileLength;
}
} }