mirror of https://github.com/apache/activemq.git
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:
parent
a9119eca19
commit
cdf35dfe12
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue