GERONIMO-6373: Expose HOWL flushPartialBuffer config via HOWLLog - useful under low concurrency
git-svn-id: https://svn.apache.org/repos/asf/geronimo/components/txmanager/trunk@1365015 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/log/HOWLLog.java b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/log/HOWLLog.java
index a0d368c..aea5ca6 100644
--- a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/log/HOWLLog.java
+++ b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/log/HOWLLog.java
@@ -17,11 +17,10 @@
package org.apache.geronimo.transaction.log;
-import java.io.IOException;
import java.io.File;
+import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.transaction.xa.Xid;
@@ -84,6 +83,32 @@
int threadsWaitingForceThreshold,
XidFactory xidFactory,
File serverBaseDir) throws IOException, LogConfigurationException {
+ this(bufferClassName, bufferSize,
+ checksumEnabled, adler32Checksum,
+ flushSleepTimeMilliseconds, logFileDir,
+ logFileExt, logFileName,
+ maxBlocksPerFile, maxBuffers,
+ maxLogFiles, minBuffers,
+ threadsWaitingForceThreshold, true,
+ xidFactory, serverBaseDir);
+ }
+
+ public HOWLLog(String bufferClassName,
+ int bufferSize,
+ boolean checksumEnabled,
+ boolean adler32Checksum,
+ int flushSleepTimeMilliseconds,
+ String logFileDir,
+ String logFileExt,
+ String logFileName,
+ int maxBlocksPerFile,
+ int maxBuffers,
+ int maxLogFiles,
+ int minBuffers,
+ int threadsWaitingForceThreshold,
+ boolean flushPartialBuffers,
+ XidFactory xidFactory,
+ File serverBaseDir) throws IOException, LogConfigurationException {
this.serverBaseDir = serverBaseDir;
setBufferClassName(bufferClassName);
setBufferSizeKBytes(bufferSize);
@@ -99,6 +124,7 @@
setMaxLogFiles(maxLogFiles);
setMinBuffers(minBuffers);
setThreadsWaitingForceThreshold(threadsWaitingForceThreshold);
+ setFlushPartialBuffers(flushPartialBuffers);
this.xidFactory = xidFactory;
this.logger = new XALogger(configuration);
}
@@ -215,6 +241,14 @@
configuration.setMaxLogFiles(maxLogFiles);
}
+ public boolean isFlushPartialBuffers() {
+ return configuration.isFlushPartialBuffers();
+ }
+
+ public void setFlushPartialBuffers(boolean flushPartialBuffers) {
+ configuration.setFlushPartialBuffers(flushPartialBuffers);
+ }
+
public void doStart() throws Exception {
started = true;
setLogFileDir(logFileDir);