leif 2003/03/06 04:27:29
Modified: . ant.properties.sample build.xml BUILDING.txt
status.xml
src/java/org/apache/avalon/phoenix/launcher
DaemonLauncher.java
src/documentation/content/xdocs guide-administrator.xml
src/conf wrapper.conf
Log:
Upgrade to using Wrapper version 3.0.0
Revision Changes Path
1.17 +3 -3 avalon-phoenix/ant.properties.sample
Index: ant.properties.sample
===================================================================
RCS file: /home/cvs/avalon-phoenix/ant.properties.sample,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- ant.properties.sample 2 Mar 2003 12:33:21 -0000 1.16
+++ ant.properties.sample 6 Mar 2003 12:27:28 -0000 1.17
@@ -25,8 +25,8 @@
#xerces.lib=${xerces.home}
#xerces.jar=${xerces.lib}/xerces.jar
-# ----- Java Service Wrapper, version 2.2.3 or later -----
-#wrapper.home=${base.path}/wrapper_linux_2.2.3
+# ----- Java Service Wrapper, version 3.0.0 or later -----
+#wrapper.home=${base.path}/wrapper_linux_3.0.0
#wrapper.jar=${wrapper.home}/lib/wrapper.jar
# Linux/Solaris
1.218 +1 -1 avalon-phoenix/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/avalon-phoenix/build.xml,v
retrieving revision 1.217
retrieving revision 1.218
diff -u -r1.217 -r1.218
--- build.xml 2 Mar 2003 12:33:21 -0000 1.217
+++ build.xml 6 Mar 2003 12:27:28 -0000 1.218
@@ -165,7 +165,7 @@
<available property="servlet.present" classname="javax.servlet.Servlet">
<classpath refid="project.class.path"/>
</available>
- <available property="wrapper.present"
classname="com.silveregg.wrapper.WrapperManager">
+ <available property="wrapper.present"
classname="org.tanukisoftware.wrapper.WrapperManager">
<classpath refid="project.class.path"/>
</available>
<available property="beanshell.present" classname="bsh.util.JConsole">
1.10 +3 -3 avalon-phoenix/BUILDING.txt
Index: BUILDING.txt
===================================================================
RCS file: /home/cvs/avalon-phoenix/BUILDING.txt,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- BUILDING.txt 28 Oct 2002 20:08:48 -0000 1.9
+++ BUILDING.txt 6 Mar 2003 12:27:28 -0000 1.10
@@ -43,14 +43,14 @@
"${ant.home}/bin" in its list. This makes the "ant" command line script
available, which will be used to actually perform the build.
-(2) Download and Install the Java Service Wrapper 2.2.8 Implementation
+(2) Download and Install the Java Service Wrapper 3.0.0 Implementation
NOTE: This step is only required if you wish to allow the Phoenix server
to be accessible as a win32 Service or a unix daemon.
-* Download the Java Service Wrapper (version 2.2.8 or later) from
+* Download the Java Service Wrapper (version 3.0.0 or later) from
- http://wrapper.sourceforge.net/
+ http://wrapper.tanukisoftware.org/
* Unpack the product into a convenient location so that it resides in
its own subdirectory.
1.6 +2 -2 avalon-phoenix/status.xml
Index: status.xml
===================================================================
RCS file: /home/cvs/avalon-phoenix/status.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- status.xml 1 Mar 2003 01:41:14 -0000 1.5
+++ status.xml 6 Mar 2003 12:27:28 -0000 1.6
@@ -254,8 +254,8 @@
</action>
<action dev="PD" type="change">
Add native daemon support by using the daemon created in the
- http://wrapper.sourceforge.net/ project. Submitted By:
- Leif Mortenson ([EMAIL PROTECTED])
+ http://wrapper.tanukisoftware.org/ project. Submitted By:
+ Leif Mortenson ([EMAIL PROTECTED])
</action>
<action dev="PD" type="fix">
Fixed bug where application names were inapropriately prefixed
1.16 +53 -3
avalon-phoenix/src/java/org/apache/avalon/phoenix/launcher/DaemonLauncher.java
Index: DaemonLauncher.java
===================================================================
RCS file:
/home/cvs/avalon-phoenix/src/java/org/apache/avalon/phoenix/launcher/DaemonLauncher.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- DaemonLauncher.java 22 Feb 2003 05:34:46 -0000 1.15
+++ DaemonLauncher.java 6 Mar 2003 12:27:28 -0000 1.16
@@ -7,15 +7,15 @@
*/
package org.apache.avalon.phoenix.launcher;
-import com.silveregg.wrapper.WrapperListener;
-import com.silveregg.wrapper.WrapperManager;
+import org.tanukisoftware.wrapper.WrapperListener;
+import org.tanukisoftware.wrapper.WrapperManager;
import java.util.Hashtable;
import java.util.Observable;
import java.util.Observer;
/**
* A frontend for Phoenix that starts it as a native service
- * using the Java Service Wrapper at http://wrapper.sourceforge.net
+ * using the Java Service Wrapper at http://wrapper.tanukisoftware.org
*
* @author <a href="mailto:peter at apache.org">Peter Donald</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Leif Mortenson</a>
@@ -32,6 +32,21 @@
*/
private boolean m_ignoreUpdates = false;
+ /*---------------------------------------------------------------
+ * WrapperListener Methods
+ *-------------------------------------------------------------*/
+ /**
+ * The start method is called when the WrapperManager is signaled by the
+ * native wrapper code that it can start its application. This
+ * method call is expected to return, so a new thread should be launched
+ * if necessary.
+ *
+ * @param args List of arguments used to initialize the application.
+ *
+ * @return Any error code if the application should exit on completion
+ * of the start method. If there were no problems then this
+ * method should return null.
+ */
public Integer start( final String[] args )
{
Integer exitCodeInteger = null;
@@ -72,6 +87,22 @@
return exitCodeInteger;
}
+ /**
+ * Called when the application is shutting down. The Wrapper assumes that
+ * this method will return fairly quickly. If the shutdown code code
+ * could potentially take a long time, then WrapperManager.stopping()
+ * should be called to extend the timeout period. If for some reason,
+ * the stop method can not return, then it must call
+ * WrapperManager.stopped() to avoid warning messages from the Wrapper.
+ *
+ * @param exitCode The suggested exit code that will be returned to the OS
+ * when the JVM exits.
+ *
+ * @return The exit code to actually return to the OS. In most cases, this
+ * should just be the value of exitCode, however the user code has
+ * the option of changing the exit code if there are any problems
+ * during shutdown.
+ */
public int stop( final int exitCode )
{
// To avoid recursive calls, start ignoring updates.
@@ -81,6 +112,15 @@
return exitCode;
}
+ /**
+ * Called whenever the native wrapper code traps a system control signal
+ * against the Java process. It is up to the callback to take any actions
+ * necessary. Possible values are: WrapperManager.WRAPPER_CTRL_C_EVENT,
+ * WRAPPER_CTRL_CLOSE_EVENT, WRAPPER_CTRL_LOGOFF_EVENT, or
+ * WRAPPER_CTRL_SHUTDOWN_EVENT
+ *
+ * @param event The system control signal.
+ */
public void controlEvent( final int event )
{
if( WrapperManager.isControlledByNativeWrapper() )
@@ -107,6 +147,9 @@
}
}
+ /*---------------------------------------------------------------
+ * Methods
+ *-------------------------------------------------------------*/
/**
* We use an Observer rather than operating on some more meaningful
* event system as Observer and friends can be loaded from system
@@ -169,8 +212,15 @@
}
}
+ /*---------------------------------------------------------------
+ * Main Method
+ *-------------------------------------------------------------*/
public static void main( final String[] args )
{
+ // Start the application. If the JVM was launched from the native
+ // Wrapper then the application will wait for the native Wrapper to
+ // call the application's start method. Otherwise the start method
+ // will be called immediately.
WrapperManager.start( new DaemonLauncher(), args );
}
}
1.3 +2 -2
avalon-phoenix/src/documentation/content/xdocs/guide-administrator.xml
Index: guide-administrator.xml
===================================================================
RCS file:
/home/cvs/avalon-phoenix/src/documentation/content/xdocs/guide-administrator.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- guide-administrator.xml 2 Dec 2002 08:07:34 -0000 1.2
+++ guide-administrator.xml 6 Mar 2003 12:27:29 -0000 1.3
@@ -57,7 +57,7 @@
<p>
Another option for starting and stopping Phoenix is to build
it with support for the
- <link href="http://wrapper.sourceforge.net/">Java Service
Wrapper</link>.
+ <link href="http://wrapper.tanukisoftware.org/">Java Service
Wrapper</link>.
</p>
<p>
The main benifit of using the Java Service Wrapper is that it can
@@ -73,7 +73,7 @@
<source>
# ${base.path} points to the root of the Phoenix source tree
-wrapper.home=${base.path}/wrapper_linux_2.2.3
+wrapper.home=${base.path}/wrapper_linux_3.0.0
wrapper.jar=${wrapper.home}/lib/wrapper.jar
# If you're using Linux/Solaris:
1.4 +11 -34 avalon-phoenix/src/conf/wrapper.conf
Index: wrapper.conf
===================================================================
RCS file: /home/cvs/avalon-phoenix/src/conf/wrapper.conf,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- wrapper.conf 12 Jul 2002 02:02:13 -0000 1.3
+++ wrapper.conf 6 Mar 2003 12:27:29 -0000 1.4
@@ -1,5 +1,5 @@
#********************************************************************
-# Wrapper parameters
+# Wrapper Properties
#********************************************************************
# Java Application
wrapper.java.command=java
@@ -7,12 +7,13 @@
# Java Main class
wrapper.java.mainclass=org.apache.avalon.phoenix.launcher.DaemonLauncher
-# Java Classpath (include wrapper.jar) Add class path elements as needed starting
from 1
+# Java Classpath (include wrapper.jar) Add class path elements as
+# needed starting from 1
wrapper.java.classpath.1=phoenix-loader.jar
wrapper.java.classpath.2=wrapper.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
-wrapper.java.library.path=./
+wrapper.java.library.path.1=./
# Java Additional Parameters
wrapper.java.additional.1=-Djava.ext.dirs=../lib
@@ -21,7 +22,7 @@
wrapper.java.additional.4=-Djava.security.manager
# Initial Java Heap Size (in MB)
-wrapper.java.initmemory=16
+wrapper.java.initmemory=3
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=64
@@ -32,29 +33,8 @@
# Port which the native wrapper code will attempt to connect to
wrapper.port=15012
-# Number of seconds to allow for the JVM to be launched and contact the wrapper
before the
-# wrapper should assume that the JVM is hung and terminate the JVM process. 0
means never
-# time out. Defaults to 30 seconds.
-wrapper.startup.timeout=30
-
-# Number of seconds to allow between the wrapper pinging the JVM and the response.
0 means
-# never time out. Defaults to 30 seconds.
-wrapper.ping.timeout=30
-
-# Number of seconds to allow for the JVM to shutdown before the wrapper should
assume that
-# the JVM is hung and terminate the JVM process. 0 means never time out.
Defaults to 30
-# seconds.
-wrapper.shutdown.timeout=30
-
-# The Wrapper detects when an application calls System.exit() and treats this as a
request
-# to stop the server by default.
-#wrapper.disable_shutdown_hook=TRUE
-
-# Tell the Wrapper to request a JVM thread dump if the JVM fails to exit when
requested.
-#wrapper.request_thread_dump_on_failed_jvm_exit=TRUE
-
#********************************************************************
-# Wrapper Logging parameters
+# Wrapper Logging Properties
#********************************************************************
# Format of output for the console. (See docs for formats)
wrapper.console.format=PM
@@ -84,15 +64,9 @@
wrapper.syslog.loglevel=NONE
#********************************************************************
-# Wrapper Unix daemon parameters
-#********************************************************************
-# File to write process ID to
-wrapper.pidfile=/var/run/phoenix.pid
-
-#********************************************************************
-# Wrapper NT Service parameters
+# Wrapper NT Service Properties
#********************************************************************
-# WARNING - Do not modify any of these parameters when an application
+# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
@@ -114,4 +88,7 @@
# Priority at which the service is run. NORMAL, LOW, HIGH, or REALTIME
wrapper.ntservice.process_priority=NORMAL
+
+# Allow the service to interact with the desktop.
+wrapper.ntservice.interactive=false
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]