djencks 2004/06/25 14:29:34
Modified: modules/assembly project.xml modules/assembly/src/plan j2ee-server-plan.xml modules/transaction project.xml modules/transaction/src/java/org/apache/geronimo/transaction/log HOWLLog.java modules/transaction/src/test/org/apache/geronimo/transaction/log HOWLLogTest.java modules/transaction/src/test/org/apache/geronimo/transaction/manager HOWLLogRecoveryTest.java Log: Put tx log files in place based on serverInfo. Use howl 0.1.3 Revision Changes Path 1.28 +2 -2 incubator-geronimo/modules/assembly/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/assembly/project.xml,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- project.xml 24 Jun 2004 20:59:47 -0000 1.27 +++ project.xml 25 Jun 2004 21:29:34 -0000 1.28 @@ -208,7 +208,7 @@ <dependency> <groupId>howl</groupId> <artifactId>howl-logger</artifactId> - <version>0.1.1</version> + <version>0.1.3</version> <url>http://forge.objectweb.org/projects/howl</url> <properties> <repository>true</repository> 1.32 +4 -4 incubator-geronimo/modules/assembly/src/plan/j2ee-server-plan.xml Index: j2ee-server-plan.xml =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/assembly/src/plan/j2ee-server-plan.xml,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- j2ee-server-plan.xml 25 Jun 2004 10:57:34 -0000 1.31 +++ j2ee-server-plan.xml 25 Jun 2004 21:29:34 -0000 1.32 @@ -69,7 +69,7 @@ <uri>activemq/jars/activemq-1.0-SNAPSHOT.jar</uri> </dependency> <dependency> - <uri>howl/jars/howl-logger-0.1.1.jar</uri> + <uri>howl/jars/howl-logger-0.1.3.jar</uri> </dependency> <!-- required for rar 1.5 to load realms --> @@ -145,7 +145,7 @@ <attribute name="bufferSizeKBytes" type="int">4096</attribute> <attribute name="checksumEnabled" type="boolean">true</attribute> <attribute name="flushSleepTimeMilliseconds" type="int">50</attribute> - <attribute name="logFileDir" type="java.lang.String">txlog</attribute> + <attribute name="logFileDir" type="java.lang.String">var/txlog</attribute> <attribute name="logFileExt" type="java.lang.String">log</attribute> <attribute name="logFileName" type="java.lang.String">howl</attribute> <attribute name="maxBlocksPerFile" type="int">-1</attribute> @@ -153,14 +153,14 @@ <attribute name="maxLogFiles" type="int">2</attribute> <attribute name="minBuffers" type="int">4</attribute> <attribute name="threadsWaitingForceThreshold" type="int">-1</attribute> - + <reference name="serverInfo">geronimo.system:role=ServerInfo</reference> </gbean> <gbean name="geronimo.server:type=TransactionManager" class="org.apache.geronimo.transaction.GeronimoTransactionManager"> <reference name="transactionLog">geronimo.server:type=HOWLTransactionLog</reference> <references name="resourceManagers"> <pattern>geronimo.server:j2eeType=JCAManagedConnectionFactory,*</pattern> - <pattern>geronimo.server:j2eeType=MessageDrivenBean,*</pattern> + <pattern>geronimo.server:j2eeType=ActivationSpec,*</pattern> </references> </gbean> 1.19 +10 -3 incubator-geronimo/modules/transaction/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/transaction/project.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- project.xml 24 Jun 2004 20:59:52 -0000 1.18 +++ project.xml 25 Jun 2004 21:29:34 -0000 1.19 @@ -43,6 +43,13 @@ <dependencies> <!-- Module Dependencies --> + <!-- temp, for ServerInfo. Remove when it is moved to Kernel--> + <dependency> + <groupId>geronimo</groupId> + <artifactId>geronimo-system</artifactId> + <version>${pom.currentVersion}</version> + </dependency> + <dependency> <groupId>geronimo</groupId> <artifactId>geronimo-kernel</artifactId> @@ -78,9 +85,9 @@ <!--compiled by David Jencks, but tagged version--> <dependency> - <groupId>howl</groupId> + <groupId>howl</groupId> <artifactId>howl-logger</artifactId> - <version>0.1.1</version> + <version>0.1.3</version> <url>http://forge.objectweb.org/projects/howl</url> </dependency> 1.4 +125 -104 incubator-geronimo/modules/transaction/src/java/org/apache/geronimo/transaction/log/HOWLLog.java Index: HOWLLog.java =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/transaction/src/java/org/apache/geronimo/transaction/log/HOWLLog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- HOWLLog.java 22 Jun 2004 18:41:00 -0000 1.3 +++ HOWLLog.java 25 Jun 2004 21:29:34 -0000 1.4 @@ -28,26 +28,27 @@ import javax.transaction.xa.Xid; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.geronimo.gbean.GBeanInfo; +import org.apache.geronimo.gbean.GBeanInfoFactory; import org.apache.geronimo.gbean.GBeanLifecycle; import org.apache.geronimo.gbean.WaitingException; -import org.apache.geronimo.gbean.GBeanInfoFactory; -import org.apache.geronimo.gbean.GBeanInfo; +import org.apache.geronimo.system.serverinfo.ServerInfo; import org.apache.geronimo.transaction.manager.LogException; import org.apache.geronimo.transaction.manager.TransactionBranchInfo; import org.apache.geronimo.transaction.manager.TransactionBranchInfoImpl; import org.apache.geronimo.transaction.manager.TransactionLog; import org.apache.geronimo.transaction.manager.XidFactory; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.objectweb.howl.log.Configuration; import org.objectweb.howl.log.LogClosedException; import org.objectweb.howl.log.LogConfigurationException; import org.objectweb.howl.log.LogFileOverflowException; import org.objectweb.howl.log.LogRecord; import org.objectweb.howl.log.LogRecordSizeException; +import org.objectweb.howl.log.LogRecordType; import org.objectweb.howl.log.Logger; import org.objectweb.howl.log.ReplayListener; -import org.objectweb.howl.log.LogRecordType; -import org.objectweb.howl.log.Configuration; /** * @@ -64,8 +65,12 @@ private static final Log log = LogFactory.getLog(HOWLLog.class); + private final ServerInfo serverInfo; + private String logFileDir; + private final Logger logger; private final Configuration configuration = new Configuration(); + private boolean started = false; public HOWLLog( String bufferClassName, @@ -79,13 +84,16 @@ int maxBuffers, int maxLogFiles, int minBuffers, - int threadsWaitingForceThreshold + int threadsWaitingForceThreshold, + ServerInfo serverInfo ) throws IOException { + this.serverInfo = serverInfo; setBufferClassName(bufferClassName); setBufferSizeKBytes(bufferSize); setChecksumEnabled(checksumEnabled); setFlushSleepTimeMilliseconds(flushSleepTimeMilliseconds); - setLogFileDir(logFileDir); + //setLogFileDir(logFileDir); + this.logFileDir = logFileDir; setLogFileExt(logFileExt); setLogFileName(logFileName); setMaxBlocksPerFile(maxBlocksPerFile); @@ -97,107 +105,117 @@ } public String getLogFileDir() { - return configuration.getLogFileDir(); - } + return logFileDir; + } - public void setLogFileDir(String logDir) { - configuration.setLogFileDir(logDir); - } - - public String getLogFileExt() { - return configuration.getLogFileExt(); - } - - public void setLogFileExt(String logFileExt) { - configuration.setLogFileExt(logFileExt); - } - - public String getLogFileName() { - return configuration.getLogFileName(); - } - - public void setLogFileName(String logFileName) { - configuration.setLogFileName(logFileName); - } - - public boolean isChecksumEnabled() { - return configuration.isChecksumEnabled(); - } - - public void setChecksumEnabled(boolean checksumOption) { - configuration.setChecksumEnabled(checksumOption); - } - - public int getBufferSizeKBytes() { - return configuration.getBufferSize(); - } - - public void setBufferSizeKBytes(int bufferSize) { - configuration.setBufferSize(bufferSize); - } - - public String getBufferClassName() { - return configuration.getBufferClassName(); - } - - public void setBufferClassName(String bufferClassName) { - configuration.setBufferClassName(bufferClassName); - } - - public int getMaxBuffers() { - return configuration.getMaxBuffers(); - } - - public void setMaxBuffers(int maxBuffers) { - configuration.setMaxBuffers(maxBuffers); - } - - public int getMinBuffers() { - return configuration.getMinBuffers(); - } - - public void setMinBuffers(int minBuffers) { - configuration.setMinBuffers(minBuffers); - } - - public int getFlushSleepTimeMilliseconds() { - return configuration.getFlushSleepTime(); - } - - public void setFlushSleepTimeMilliseconds(int flushSleepTime) { - configuration.setFlushSleepTime(flushSleepTime); - } - - public int getThreadsWaitingForceThreshold() { - return configuration.getThreadsWaitingForceThreshold(); - } - - public void setThreadsWaitingForceThreshold(int threadsWaitingForceThreshold) { - configuration.setThreadsWaitingForceThreshold(threadsWaitingForceThreshold == -1? Integer.MAX_VALUE: threadsWaitingForceThreshold); - } - - public int getMaxBlocksPerFile() { - return configuration.getMaxBlocksPerFile(); - } - - public void setMaxBlocksPerFile(int maxBlocksPerFile) { - configuration.setMaxBlocksPerFile(maxBlocksPerFile == -1? Integer.MAX_VALUE: maxBlocksPerFile); - } - - public int getMaxLogFiles() { - return configuration.getMaxLogFiles(); - } - - public void setMaxLogFiles(int maxLogFiles) { - configuration.setMaxLogFiles(maxLogFiles); - } + public void setLogFileDir(String logDir) { + this.logFileDir = logDir; + if (started) { + configuration.setLogFileDir(serverInfo.resolvePath(logDir)); + } + } + public String getLogFileExt() { + return configuration.getLogFileExt(); + } + + public void setLogFileExt(String logFileExt) { + configuration.setLogFileExt(logFileExt); + } + + public String getLogFileName() { + return configuration.getLogFileName(); + } + + public void setLogFileName(String logFileName) { + configuration.setLogFileName(logFileName); + } + + public boolean isChecksumEnabled() { + return configuration.isChecksumEnabled(); + } + + public void setChecksumEnabled(boolean checksumOption) { + configuration.setChecksumEnabled(checksumOption); + } + + public int getBufferSizeKBytes() { + return configuration.getBufferSize(); + } + + public void setBufferSizeKBytes(int bufferSize) { + configuration.setBufferSize(bufferSize); + } + + public String getBufferClassName() { + return configuration.getBufferClassName(); + } + + public void setBufferClassName(String bufferClassName) { + configuration.setBufferClassName(bufferClassName); + } + + public int getMaxBuffers() { + return configuration.getMaxBuffers(); + } + + public void setMaxBuffers(int maxBuffers) { + configuration.setMaxBuffers(maxBuffers); + } + + public int getMinBuffers() { + return configuration.getMinBuffers(); + } + + public void setMinBuffers(int minBuffers) { + configuration.setMinBuffers(minBuffers); + } + + public int getFlushSleepTimeMilliseconds() { + return configuration.getFlushSleepTime(); + } + + public void setFlushSleepTimeMilliseconds(int flushSleepTime) { + configuration.setFlushSleepTime(flushSleepTime); + } + + public int getThreadsWaitingForceThreshold() { + return configuration.getThreadsWaitingForceThreshold(); + } + + public void setThreadsWaitingForceThreshold(int threadsWaitingForceThreshold) { + configuration.setThreadsWaitingForceThreshold(threadsWaitingForceThreshold == -1 ? Integer.MAX_VALUE : threadsWaitingForceThreshold); + } + + public int getMaxBlocksPerFile() { + return configuration.getMaxBlocksPerFile(); + } + + public void setMaxBlocksPerFile(int maxBlocksPerFile) { + configuration.setMaxBlocksPerFile(maxBlocksPerFile == -1 ? Integer.MAX_VALUE : maxBlocksPerFile); + } + + public int getMaxLogFiles() { + return configuration.getMaxLogFiles(); + } + + public void setMaxLogFiles(int maxLogFiles) { + configuration.setMaxLogFiles(maxLogFiles); + } + + public ServerInfo getServerInfo() { + return serverInfo; + } public void doStart() throws WaitingException, Exception { + started = true; + setLogFileDir(logFileDir); + logger.open(); } public void doStop() throws WaitingException, Exception { + started = false; logger.close(); } @@ -405,9 +423,11 @@ infoFactory.addAttribute("minBuffers", Integer.TYPE, true); infoFactory.addAttribute("threadsWaitingForceThreshold", Integer.TYPE, true); + infoFactory.addReference("serverInfo", ServerInfo.class); + infoFactory.addInterface(TransactionLog.class); - infoFactory.setConstructor(new String[] { + infoFactory.setConstructor(new String[]{ "bufferClassName", "bufferSizeKBytes", "checksumEnabled", @@ -419,7 +439,8 @@ "maxBuffers", "maxLogFiles", "minBuffers", - "threadsWaitingForceThreshold"}); + "threadsWaitingForceThreshold", + "serverInfo"}); GBEAN_INFO = infoFactory.getBeanInfo(); } 1.3 +5 -3 incubator-geronimo/modules/transaction/src/test/org/apache/geronimo/transaction/log/HOWLLogTest.java Index: HOWLLogTest.java =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/transaction/src/test/org/apache/geronimo/transaction/log/HOWLLogTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- HOWLLogTest.java 22 Jun 2004 18:41:00 -0000 1.2 +++ HOWLLogTest.java 25 Jun 2004 21:29:34 -0000 1.3 @@ -23,6 +23,7 @@ import junit.framework.Test; import junit.framework.TestSuite; import org.apache.geronimo.transaction.manager.TransactionLog; +import org.apache.geronimo.system.serverinfo.ServerInfo; /** * @@ -49,14 +50,15 @@ 4, // "bufferSizeKBytes", true, // "checksumEnabled", 20, // "flushSleepTime", - "target", // "logFileDir", + "txlog", // "logFileDir", "log", // "logFileExt", LOG_FILE_NAME, // "logFileName", 200, // "maxBlocksPerFile", 10, // "maxBuffers", 2, // "maxLogFiles", 2, // "minBuffers", - 10// "threadsWaitingForceThreshold"}); + 10,// "threadsWaitingForceThreshold"}); + new ServerInfo("target") ); howlLog.doStart(); return howlLog; 1.4 +5 -3 incubator-geronimo/modules/transaction/src/test/org/apache/geronimo/transaction/manager/HOWLLogRecoveryTest.java Index: HOWLLogRecoveryTest.java =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/transaction/src/test/org/apache/geronimo/transaction/manager/HOWLLogRecoveryTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- HOWLLogRecoveryTest.java 22 Jun 2004 18:41:00 -0000 1.3 +++ HOWLLogRecoveryTest.java 25 Jun 2004 21:29:34 -0000 1.4 @@ -20,6 +20,7 @@ import java.io.File; import org.apache.geronimo.transaction.log.HOWLLog; +import org.apache.geronimo.system.serverinfo.ServerInfo; import junit.framework.Test; import junit.framework.TestSuite; import junit.extensions.TestSetup; @@ -47,14 +48,15 @@ 4, // "bufferSizeKBytes", true, // "checksumEnabled", 20, // "flushSleepTime", - "target", // "logFileDir", + "txlog", // "logFileDir", "log", // "logFileExt", LOG_FILE_NAME, // "logFileName", 200, // "maxBlocksPerFile", 10, // "maxBuffers", log 2, // "maxLogFiles", 2, // "minBuffers", - 10// "threadsWaitingForceThreshold"}); + 10,// "threadsWaitingForceThreshold"}); + new ServerInfo("target") ); howlLog.doStart(); txLog = howlLog;