You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2007/02/15 06:48:58 UTC
svn commit: r507826 [25/26] - in
/geronimo/sandbox/build-support/libraries/jsw: ./ 3.2.3/ 3.2.3/bin/
3.2.3/conf/ 3.2.3/doc/ 3.2.3/doc/english/ 3.2.3/doc/english/images/
3.2.3/doc/english/style/ 3.2.3/jdoc/ 3.2.3/lib/ 3.2.3/logs/ 3.2.3/src/
3.2.3/src/bi...
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt?view=auto&rev=507826
==============================================================================
--- geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt (added)
+++ geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt Wed Feb 14 21:48:50 2007
@@ -0,0 +1,1159 @@
+Java Service Wrapper Revision History.
+--------------------------------------
+3.2.3
+* Add support for x86 Mac OS X distributions.
+* The 3.2.2 Windows version was accidentally released with its MFC libraries
+ dynamically linked. This meant that anyone who did not have VS8 installed
+ were not able to run the Wrapper due to missing DLLs. This version fixes
+ that snafu by correctly using statically linked libraries as was done in
+ previous versions built with VS6. Bug #1578554.
+
+3.2.2
+* Correct a typo in the usage output of the WrapperStartStopApp. Thanks to
+ Michael Giroux for pointing it out.
+* Fix a problem on OSF1 systems where the backend socket was not listening
+ correctly due to a backlog of 0. This was broken in 3.2.0. Thanks to
+ Phillip Gussow for supplying a patch.
+* Remove the com.silveregg.wrapper package classes that were deprecated in
+ version 3.0.0.
+* Fix a potential problem in the UNIX script where the lock file permissions
+ were not being set correctly if the LOCKFILE and RUN_AS_USER variables are
+ specified but the group of the specified user could not be resolved.
+* Fix a problem where the exit code returned by WrapperListener.stop was being
+ ignored in some cases.
+* Fix a problem where the shell script would not work correctly when the
+ wrapper or its configuration files were located in a directory path
+ containing spaces.
+* Apply a series of patches by Michael Saya to get the Windows 64 bit build
+ working.
+* Fix a problem in UNIX versions where the SIGTERM handler was being disabled
+ when a SIGCHLD was received.
+* Added support in UNIX versions for the SIGHUP signal.
+* Migrated the source to Subversion from CVS. Did a bunch of cleanup in the
+ source, removing CVS specific tags.
+* Fix a problem in UNIX versions were the pid file specified by the
+ wrapper.java.pidfile property contained the wrapper pid rather than the
+ jvm pid. Bug #1565011.
+* Fix a problem in UNIX versions where the file specified by the
+ wrapper.java.pidfile property was not always being deleted when the JVM
+ process went away.
+* A user encountered a JVM bug where calls to System.exit were resulting in
+ an IllegalThreadStateException being thrown. Added some code to trap this
+ and shut down the JVM using other means to avoid a hang during shutdown.
+* Fix a NullPointerException caused by users incorrectly implementing
+ an Integration Method #3 class and then calling WrapperManager.start with
+ a null value for the args parameter.
+* Update the banner displayed by the Wrapper on startup to include a
+ copyright notice. Please see the license page of the documentation for
+ details.
+* Add a new 'Z' log format which will log the time to millisecond accuracy.
+* Fix a problem where the JVM exit code was not being set correctly when
+ the JVM was shutdown using WrapperManager.stopImmediate(). The exit code
+ of the Wrapper was being set correctly through other means however.
+* Fix a potential synchronization problem in the logging code if a JVM exits
+ with debug output enabled.
+* Updated the WrapperListener.stop method javadocs to better explain the
+ exitCode value under certain exit modes.
+* On UNIX versions, add a log message which records the signal that caused
+ the JVM process to exit when it terminates unexpectedly.
+* Fix a problem where the wrapper.on_exit.<n> property was not working
+ correctly in some cases on UNIX. With help from Andreas Schafer.
+* Add support for building the Wrapper with Visual Studio 8 for Windows.
+ Releases will now be done using this compiler.
+* Fix a CRITICAL bug in the 3.2.0 and 3.2.1 Windows versions of the Wrapper
+ where the Wrapper would crash under rare circumstances when running as a
+ service. If the service manager interrogated the service at the same
+ instant as the wrapper was pinging the JVM, the wrapper was sometimes
+ crashing due to a synchronization problem. The problem did not exist
+ prior to 3.2.0. Bug #1574537.
+* Fix a minor logging problem where the 'D' format was not displaying the
+ correct thread name for queued log messages.
+
+3.2.1
+* Fix a problem with the solaris-sparc-64 makefile.
+* Add a solaris-x86-64 makefile.
+* Merge in a patch by Hugo Weber to make it possible to configure the Wrapper
+ to pull the JRE from the system registry on windows.
+* Fix a batch file bug added in 3.2.0 where the scripts would not function
+ correctly if the full path to the batch file contained spaces.
+ Bug #1450601.
+* Modify the message shown when a native library fails to load so the
+ exception message text is now shown in the log without having to enable
+ debug log output.
+* Modify the UNIX shell script to be more informative if the script is unable
+ to locate a wrapper binary due to a executable bit permission problem.
+* Fix a minor permission problem with the build for the delta-pack.
+* Commit a patch by Juergen Hermann to make the error shown when realpath
+ fails clearer.
+* Add the ability to use a default wrapper.conf file that is in the same
+ directory as the wrapper binary. The file will be named based on the
+ name of the wrapper binary.
+* Synchronize the command line so that both the Windows and UNIX versions
+ are now the same. The old command line syntaxes are now supported
+ everywhere so there will be no compatibility problems.
+* It is no longer possible to specify arguments using the '/c' syntax.
+ This was undocumented so hopefully it is not being used. The documented
+ '-c' syntax must now be used. The change was necessary to synchronize
+ the command line between UNIX and windows platforms.
+* The 32-bit HP-UX 3.2.0 build was generating a libwrapper.so file rather
+ than libwrapper.sl.
+* Make the WrapperManager.setConsoleTitle, getWrapperPID, and getJavaPID
+ methods available through JMX.
+* Fix a state engine problem introduced in 3.2.0 which was causing the
+ wrapper.on_exit.<n> properties to be ignored in most cases.
+* Fix a potential problem that could have caused crashes when debug logging
+ was enabled.
+* Fix a problem where signals were not being handled correctly on some UNIX
+ platforms, including AIX. This was making it impossible to shutdown the
+ wrapper cleanly with the TERM signal. Bug #1477619.
+* Add new default environment variables which can be referenced in a
+ configuration file to configure platform specific directories and file
+ names. WRAPPER_OS, WRAPPER_ARCH, and WRAPPER_BITS.
+* Add a -v argument to make it possible to request the version from a wrapper
+ binary.
+* Add support for registering the WrapperManager MBean with the
+ PlatformMBeanServer when run on a 1.5+ JVM. See the JMX section in the
+ documentation for details.
+* Rework the way timeout properties are handled. Values of 0 now actually
+ disable the timeouts rather than setting them to a large value. To avoid
+ overflow problems when converting to internal timer ticks, timeouts are now
+ restricted to a maximum of 20 days, or 1728000 seconds. Change affects the
+ wrapper.cpu.timeout, wrapper.startup.timeout, wrapper.ping.timeout,
+ wrapper.shutdown.timeout, and wrapper.jvm_exit.timeout properties. For
+ values less than 20 days, there should be no change in functionality.
+* Add support for debuggers. The Wrapper will now show a warning on startup
+ and then again the first time a timeout occurs. But all timeouts will be
+ ignored. This is to avoid problems with the Wrapper restarting a suspended
+ JVM in the middle of a debugging session. The wrapper enters this mode if
+ the wrapper.java.command ends with the string "jdb" or "jdb.exe", or the
+ "-Xdebug" parameter is passed to the JVM.
+* Add 'athlon' to the list of supported architectures.
+* Fix a problem where the environment variables loaded when a service was
+ started were always the system environment even if the service was running
+ as a specific account. The environment of a specific account will now be
+ loaded on top of the system environment if the USERNAME environment
+ variable is set by the system. Bug #1491138.
+* Added new wrapper.ntservice.pausable and wrapper.ntservice.pausable.stop_jvm
+ properties to make it possible to pause and resume the Wrapper when installed
+ as a Windows service.
+* Added new Pause and Resume batch files as well as modified the command batch
+ file to support pause and resume.
+* Added PAUSE and RESUME commands for use by the wrapper.commandfile property.
+* Fix a problem with the wrapper.pidfile, wrapper.java.pidfile,
+ wrapper.anchorfile, wrapper.commandfile, wrapper.statusfile,
+ wrapper.java.statusfile, wrapper.java.idfile, and wrapper.lockfile
+ properties where forward slashes in paths were not being changed to back
+ slashes on Windows versions.
+* Simplify the code used to load a native library by using the
+ System.mapLibraryName method rather than doing the same thing manually.
+* Add a new wrapper.syslog.facility property which makes it possible to
+ specify the syslog facility on UNIX systems. Thanks for the patch from
+ Bruce Pennypacker.
+* Removed the custom thread counting used to keep track of when the wrapped
+ Java application has completed. It is now done in a different way that
+ will work on all Java implementations without requiring any special
+ consideration of the current JVM. Deprecated the
+ wrapper.monitor_thread_count and wrapper.thread_count_delay properties.
+ Bug #1470265.
+* The WrapperStartStopApp helper class still requires thread counting if the
+ stopWait parameter is set to true. Previous versions all hardcoded the
+ system thread count to 1 which worked for most JVMs. A new system property,
+ org.tanukisoftware.wrapper.WrapperStartStopApp.systemThreadCount, was added
+ to make it possible to customize. It currently defaults to 1.
+* Make it possible to extend the WrapperSimpleApp and WrapperStartStopApp
+ helper classes. Feature Request #1510274.
+* Add warning messages if the old org.silveregg.wrapper package classes are
+ still being used. They will be removed in the next release.
+
+3.2.0
+* Rework the release cycle so that the wrapper.jar file released for all
+ platforms is now built on the same machine. This resolves a few
+ incompatibility problems caused by jars built on very new JVMs but run
+ on old JVMs.
+* Add additional output when the JVM can not be launched due to security
+ restrictions on Windows.
+* Greatly improved the performance of file logging. On a windows test machine
+ 3.1.2 could log 67210 lines of output in 20 seconds with a 80-15% split
+ between the Wrapper and JVM process CPU usage. It now outputs 215214 lines
+ with a 64-34% split, also showing less load on the system process. This is
+ a 220% increase in performance. In both cases, the JVM was completely idle
+ other than the console output which makes the Wrapper appear to be a bit of
+ a CPU hog. In fact it is the only process doing any work in this case.
+ This improvement was accomplished by keeping the log file open unless idle.
+ The idle time can be controlled using the new
+ wrapper.logfile.inactivity.timeout property. The speed increase on UNIX
+ platforms was much smaller at around 10%.
+* Add a new property, wrapper.disable_restarts, which will completely disable
+ the Wrapper's ability to restart JVMs.
+* Add a pair of new properties, wrapper.port.min and wrapper.port.max, which
+ make it possible to define the port range used when a specific wrapper.port
+ is not specified.
+* Fix a problem where certain characters like umlauts were being stripped from
+ property values. Bug #1049528.
+* Make the PIDs of the Wrapper and Java process easier to access by providing
+ a new pair os system properties; wrapper.pid and wrapper.java.pid, as well
+ as a new pair of methods; WrapperManager.getWrapperPID() and
+ WrapperManager.getJavaPID().
+* Add a new WrapperEventListener class which can be implemented to receive
+ a wide variety of events from the Wrapper.
+* Add a WrapperServiceControlEvent class which will report any service control
+ codes received by the Wrapper as it is running as an NT service. This was
+ added to make it possible for other applications to sent custom codes to the
+ Wrapper using the Window Service Manager.
+* Add a WrapperManager.listServices() method which can be used to obtain the
+ status of all services on a Windows system.
+* Add a WrapperManager.sendServiceControlCode() method which makes it possible
+ to start, stop, pause, continue, any service on Windows systems. It is also
+ possible to send custom user codes via the service manager.
+* Add comments in the sh script to support the chkconfig command.
+* Implement the ability to read from standard input via System.in. Feature
+ Request #1024693.
+* Made the tick based timer the default by changing the default value of the
+ wrapper.use_system_time property to false. Most users should see an
+ improvement in reliability under heavy loads with this new setting. If you
+ have extended any timeouts in the past, you may wish to try going back to
+ defaults as they may no longer need to be extended.
+* Add a new wrapper.restart.reload_configuration property which causes the
+ Wrapper to reload its configuration file immediately before a JVM restart.
+ Properties which can not be reloaded have comments stating that fact in
+ their documentation. Feature Request #981060.
+* Fix a problem in the UNIX shell script which was preventing the script from
+ locating the PID and anchor files when the wrapper.working.dir property was
+ used.
+* Modify UNIX versions so that the wrapper binary will now force its working
+ directory to the location of the wrapper binary. This change was made to
+ make the UNIX version work the same way as the Windows version and thus make
+ configuration files that modify their working directory work correctly on
+ a cross platform basis. Users which have been using the scripts supplied
+ with the Wrapper should not encounter any problems. Other users may require
+ slight changes to their configuration file to deal with the new way that the
+ Wrapper deals with its initial working directory.
+* Add a new method WrapperManager.getProperties() which makes it possible to
+ access any property in the Wrapper configuration file.
+* Fix a problem where TERM signals were not being correctly ignored by the
+ JVM process on UNIX platforms even if the wrapper.ignore_signals property
+ was set to true. Earlier versions of the Wrapper would generate a
+ WRAPPER_CTRL_SHUTDOWN_EVENT when a TERM signal was received. On Windows
+ that signal should never be ignored. To resolve this a new
+ WRAPPER_CTRL_TERM_EVENT was added making it possible to selectively ignore
+ the TERM signals. This change may affect user implementations of the
+ WrapperListener.controlEvent() method. Bug #1086344.
+* The Windows version has a feature which allows the user to immediately kill
+ the Wrapper and its Java application without waiting for a clean shutdown
+ by pressing CTRL-C twice. Windows sends the CTRL-C signal to both the
+ Wrapper and Java processes. Due to a rare timing problem, it was possible
+ for the Java process to get the signal first and initialize a shutdown
+ before the Wrapper could respond to the signal. In this case the Wrapper
+ was interpreting this as a second CTRL-C signal even though the user only
+ pressed it once.
+* If the wrapper.anchorfile or wrapper.pidfile properties are used on Windows
+ they were being unintentionally deleted if the -t, -p, -i, or -r commands
+ were used while another Wrapper instance was running. In the case of the
+ anchor file, this would result in the Wrapper being shutdown unintentionally.
+ This was not an issue on non-Windows versions. Bug #1108517.
+* Fix a security problem where the value of the wrapper.ntservice.account
+ and wrapper.ntservice.password properties were being stored in plain text
+ within the registry if they were specified on the command line when
+ installing the Wrapper as a Windows service. Bug #1110183.
+* Add a pair of properties wrapper.ntservice.password.prompt and
+ wrapper.ntservice.password.prompt.mask which which will cause the Wrapper
+ to prompt the user for an account password when it is being installed as
+ an NT service.
+* Added system properties to make it possible to configure whether or not
+ the WrapperSimpleApp and WrapperStartStopApp helper classes will wait
+ for the configured main methods to complete before reporting that the
+ application has started. See the javadocs for these classes for more
+ details.
+* Modify the HP-UX build so that it now dynamically links with the pthread
+ library. This was to make the binaries work with HP-UX 11.00. Thanks to
+ Sun Kun Choi for the patch.
+* Add new wrapper.statusfile and wrapper.java.statusfile properties which can
+ be used by external applications to monitor the internal state of the Wrapper
+ or JVM at any given time. These will not be useful to most users.
+* Add a new wrapper.commandfile property which can be used by external
+ applications to control the Wrapper and its JVM.
+* Add a new wrapper.java.idfile property which can be used by external
+ applications to monitor the internal state of the JVM at any given time.
+* Add a warning on startup if the JVM has a SecurityManager set but the
+ wrapper.jar has not been granted the AllPermissions permission. Failure
+ to do so will almost certainly lead to the Wrapper throwing a number of
+ errors and this helps to point out the cause.
+* Add a security model which protects most Wrapper method calls when a
+ SecurityManager has been registered. See the Security Model section
+ for more details.
+* Add a new pair of batch files which can be used to start and stop the
+ Wrapper when installed as a service.
+* Add new -q and -qs commands to the Windows version of the Wrapper which
+ make it possible to query the currently installed status of the service.
+* Fix a problem where the wrapper.java.library.path.append_system_path
+ property was not working correctly on Windows when the system PATH
+ contained quotes. Bug #1238726.
+* Modify the usage output of the Wrapper on all platforms so the Wrapper's
+ version is now included. It was not previously possible to get the version
+ of the Wrapper being used without launching a JVM.
+* Add a pair of new methods WrapperManager.stopAndReturn() and
+ WrapperManager.restartAndReturn() which make it possible for code to
+ stop or restart the JVM and then continue until the JVM is shutdown.
+ This can be useful for shutdowns initiated within places like servlets,
+ whose operation is expected to complete.
+* Fix a problem on UNIX where the child JVM was sometimes leaving around
+ zombie processes after a restart. The SIGCHLD signal was not being handled
+ correctly. Thanks to Traun Leyden for the patch. Bug #1291201.
+* Implement the ability to catch control events using the WrapperEventLisener.
+ Feature Request #836975.
+* Add new wrapper.jvm.port, wrapper.jvm.port.min, and wrapper.jvm.port.max
+ properties which make it possible to control the port the JVM uses to open
+ a connection back to the JVM. The Wrapper uses to leave this up to the
+ OS, but some users were having problems with the default conflicting with
+ other ports.
+* Switch from using ftime() to gettimeofday() on UNIX platforms to work around
+ a problem where the Wrapper would not run on new versions of OSX because
+ they deprecated the ftime() function call. Thanks for the patch by
+ Michael Macaluso. Bug #1313162.
+* Remove the shutdown timeout from the UNIX shell script. It is not needed
+ and can cause a zombie JVM if the wrapper's internal shutdown timeout was
+ longer than that of the shell script.
+* Add the ability to specify integer property values in base 8 or 16 in
+ addition to base 10. Base 8 values start with a '0' and base 16 values
+ start with a '0x'.
+* Make it possible to set the umask on all files created by the Wrapper
+ as well as the default umask of files created by the JVM. Added new
+ wrapper.umask, wrapper.java.umask, wrapper.pidfile.umask,
+ wrapper.lockfile.umask, wrapper.java.pidfile.umask,
+ wrapper.java.idfile.umask, wrapper.statusfile.umask,
+ wrapper.java.statusfile.umask, wrapper.anchorfile.umask, and
+ wrapper.logfile.umask properties.
+* Improve the message when the native library can not be loaded to make mention
+ of the possibility of a 32/64 bit mismatch.
+* Add a new wrapper.monitor_thread_count property which makes it possible to
+ disable the Wrapper's counting of non-daemon threads and thus the shutting
+ down of the JVM when they have all completed.
+* Add support for BELOW_NORMAL and ABOVE_NORMAL options to the
+ wrapper.ntservice.process_priority property. Feature Request #1373922.
+* Ignore '#' characters which are included within double quotes in the value
+ of a property in the configuration file. Unquoted values must be escaped
+ with a second '#' characters or it will be interpreted as a comment.
+* Display the Wrapper banner in the JVM earlier so that it is displayed
+ even where there are startup errors.
+* Modify the WrapperSimpleApp and WrapperStartStopApp classes so that the
+ WrapperManager is always initialized immediately. This makes the output
+ clearer in the event of startup errors.
+* Fix a problem where the Windows ServiceManager was not correctly reporting
+ a startup error if a service failed on startup. The service was being
+ reported as having started even though it failed to start.
+* Fix a problem on UNIX versions where the Wrapper would go into a recursive
+ state of attempting to launch the JVM from failed child processes if there
+ was any problems executing the configured java process.
+* Rework the way the RUN_AS_USER setting in the UNIX shell script works so
+ the specified user is now set regardless of the command being executed.
+ To make sure the user never has to enter the password twice when running
+ the script, it now recurses after changing the user. The script then
+ runs entirely as the configured user.
+* Improve the message that is displayed when attempting to start, stop, or
+ remove a windows service which is not installed.
+* Add new wrapper.lockfile property which makes it possible to specify a
+ lock file containing a pid.
+* Modified the sh script so it now creates a lock file on startup in the
+ /var/lock/subsys directory if it exists. This is needed by fedora systems
+ on shutdown.
+* Store javadocs in tar distibutions in a nested tar file to avoid problems
+ with long filenames in some tar distributions.
+* Fix a problem with the WrapperSimpleApp and WrapperStartStopApp helper
+ classes where on heavily loaded systems it was possible for the Wrapper
+ to get a running thread count of 0 and shutdown before the main thread
+ had a chance to be started.
+* Add a new wrapper.thread_count_delay property which will force the
+ WrapperManager to wait the specified number of seconds before it begins
+ to check the number of running threads.
+* Fix a problem where the wrapper.java.library.path.append_system_path
+ property was appending the PATH rather than the LD_LIBRARY_PATH environment
+ variable on Unix systems. PATH is correct for Windows systems.
+* Add a new wrapper.logfile.rollmode property which makes it possible to
+ control how and when the logfile is rolled. Feature Requests #864463,
+ #1085097, and #1085850.
+* Fix a problem on Linux where the test for the status of the Java child
+ process would sometimes fail causing the Wrapper to shutdown with the
+ error "Critical error: wait for JVM process failed (No child processes)"
+ rather than restart the child JVM. Users who encountered this problem
+ found it easy to reproduce, but it only happened on some systems.
+* Modify the way the UNIX shell script tests for the existence of a process
+ matching the pid in an existing pid file. It now verifies the process
+ command as well as the pid to fix a system reboot problem where a stale
+ pid has been reused by another application, making the script think the
+ wrapper was already running.
+* Add support for the GNU libjcj JVM. Like JRocket, it requires slightly
+ different thread counting.
+* Add support for Linux 64-bit PPC and Solaris 32-bit x86 versions.
+* Add a new set.default.ENV syntax to the configuration file making it
+ possible to environment variable values which do not overwrite existing
+ values, ie. to specify a default value.
+* Added a new wrapper.console.flush property which forces the wrapper to
+ explicitly flush stdout after each line of log output.
+* Change the error shown when the JVM shuts down prematurely during a
+ shutdown to a warning message.
+* Fix a problem where the Wrapper would show the following error message
+ if user code called System.exit from within the WrapperListener.stop
+ callback method. This would happen if the stop class's main method
+ registered with the WrapperStartStopApp called System.exit.
+ "JVM exited unexpectedly while stopping the application."
+ Bug #945976.
+* Add a new wrapper.syslog.ident property which makes it possible to
+ specify the identity used in syslog entries on UNIX. This was possible
+ in older versions but was set using the wrapper.ntservice.name property.
+ Bug #1432855.
+* Add support for MacOSX Universal Binary distributions.
+* Add support for Delta Pack distributions. This is a distribution that
+ contains the binaries of multiple platforms.
+
+3.1.2
+* Modify the way boolean system properties are resolved by the WrapperManager
+ so it is now possible to set them to true or false rather than assuming they
+ are true if set.
+* Fix a problem where some localized error messages were not having their
+ tokens replaced correctly.
+* Fix a problem when using the WrapperStartStopApp helper class. The usage
+ text was incorrectly being displayed in the console if an exception was
+ thrown while executing the main method of the configured stop class. This
+ did not change the functionality of the application, but it did cause some
+ confusion.
+* Fix a problem on Windows where a library path or class path which ended in
+ a backslash was preventing the Wrapper from launching the JVM. The Windows
+ OS was using the backslash to escape the quote used to close the path. The
+ fix was to add a second backslash where needed.
+* Added a new wrapper.java.command.loglevel property which makes it possible
+ to control the log level of the generated java command.
+* Add support for escaped quotes when stripping quotes on UNIX for the
+ wrapper.java.additional.<n> and wrapper.app.parameter.<n> properties.
+* Change the default value of wrapper.jvm_exit.timeout from 5 to 15 seconds.
+ The old default was too fast for some applications which take a while to
+ exit. Applications which were exiting promptly will not see any difference.
+* Fix a problem where the JVM would restart at certain times when using the
+ system time based timer due to an overflow error. This problem was
+ introduced in 3.1.0. Due to a separate bug in 3.1.0, the Wrapper would
+ shutdown rather than simply restarting the JVM as was happening in 3.1.1.
+ The last restart happened on Aug 21, 2004. It will next occur Oct 10, 2004
+ and repeat at regular intervals. There are no problems when using the new
+ Tick based timer. Bug #1014405.
+* Correct the wrapper.logfile.maxsize property so that a a kilobyte is now 1024
+ rather than 1000, and a megabyte is a megabyte. We aren't a hard drive
+ manufacturer after all.
+* Add try-catch blocks around all thread entry points in the Windows version.
+ This has always been done in the main function, but these blocks will help
+ to narrow down the cause of problems should they ever be encountered in
+ control or service handlers.
+* Centralize shutdown code on UNIX version in an appExit method as was already
+ being done for Windows versions.
+* Fix a problem where the build.sh was not correctly using the included ant
+ if an ANT_HOME environment variable was defined.
+* Add a new wrapper.single_invocation property which will prevent multiple
+ invocations of an application from being started on Windows platforms.
+ The shell script handles this on UNIX platforms. Feature Request #889123.
+* Fix a crash problem introduced in 3.1.1, caused by a pair of uninitialized
+ pointers. The crash was possible on all platforms but would only happen
+ if the Wrapper was started without any arguments. It would not affect
+ users running the Wrapper normally. Bug #1018481.
+* Fix a problem with the run as user feature of the shell script on Solaris.
+ Needed to be using /usr/xpg4/bin/id rather than /usr/bin/in if available.
+ Bug #1024008.
+* Replace calls to usleep with nanosleep on platforms where it is available.
+ This was to fix an occasional hang on a specific Solaris machine. It would
+ occasionally hang on calls to usleep. From research, it appears that usleep
+ has problems when signals are encountered while sleeping. Still testing
+ whether or not this change solved the problem.
+* Upgrade the version of Ant included with source releases to 1.6.2 to fix
+ some problems generating jni headers when building with Java 1.4.2.
+* Upgrade the version of Cocoon included with source releases to 2.0.4 to
+ fix some problems generating documentation using Java 1.4.2.
+* Display a warning if the exit status of a JVM process ever returns the
+ STILL_ACTIVE status on Windows. There was no known problem here, just
+ noticed it while looking over the code.
+* Display a descriptive error message on Windows if the the JVM process crashes
+ due to an uncaught exception in native JVM code.
+* Add a test for invalid jvm arguments set using the wrapper.java.additional.<n>
+ properties. Invalid arguments could cause the Wrapper startup to fail in
+ non obvious ways if they are mistaken by the JVM as the main class.
+
+3.1.1
+* Modified the way libwrapper.so is built on Solaris and Linux so that it
+ no longer statically links its required libraries.
+* Fix a file handle leak when calling WrapperManager.getUser or
+ WrapperManager.getInteractiveUser on Windows platforms.
+* Fix a problem introduced in 3.1.0 where the JVM would not be restarted
+ correctly if it quit after a ping timeout to let the Wrapper resynch and
+ restart it.
+* Fix a problem where CTRL-C was not being handled correctly if the console
+ was configured to be shown when running as an NT service.
+* Fix a problem where signals fired at UNIX versions of the wrapper were
+ not being handled correctly when the tick timer was being used.
+* Fix a synchronization problem in the logging code which would
+ occassionally cause the Wrapper to crash with an Access Violation.
+ The problem was only encountered when the tick timer was enabled,
+ and was only seen on multi-CPU systems. Bug #949877.
+* Fix a problem when using the tick timer where the Wrapper would sometimes
+ exit on startup due to an uncaught SIGALRM. Only reported on multi-CPU
+ Solaris systems.
+* Fix a problem where the Wrapper would sometimes hang on shutdown if
+ another thread called System.exit while the Wrapper was shutting down.
+ Bug #955248.
+* Fix a problem introduced in 3.1.0 where a very very large CPU timeout
+ warning message was being displayed if the system time was set back
+ while using the default system timer.
+* Added a new property, wrapper.anchorfile, which makes it possible to
+ cause the Wrapper to shutdown by deleting an anchor file. The UNIX sh
+ script has been modified to optionally make use of this feature.
+* Add a debug message at startup which makes it clear which timer is being
+ used.
+* A Windows user reported that using forward slashes in the path the log
+ file was failing. Avoid this problem by always converting '/' to '\'
+ in the wrapper.logfile property on Windows.
+* Fix a problem where it was not possible disable the wrapper log file as
+ documented in the wrapper.logfile property. Most likely broken way back
+ in version 2.2.5.
+* Add some additional error checks after calls to control the pipe between
+ the JVM and Wrapper as well as improving the messages around other socket
+ related error messages.
+* Fix a problem on some HP-UX systems were not working correctly because
+ the EAGAIN and EWOULDBLOCK constants are not equal with some compilers.
+* Change some of the defaults in the src/conf/wrapper.conf.in file which
+ ships with the Wrapper to avoid confusion with new users.
+* Rewrote the routine which reads and logs console output from the JVM
+ for Windows versions. Internal buffers are now scaled dynamically,
+ fixing a problem where long lines were being wrapped at 1024 characters.
+ This rewrite also resulted in a 4 fold increase in speed when the JVM is
+ sending large quantities of output to the console.
+* Increase debug output on UNIX platforms when a signal is caught. When
+ possible, information about where the signal came from is now logged.
+* Modified the way log output from within signal handlers is handled so it
+ is now queued and then logged by the main event loop.
+* Back out a 3.1.0 change where a JVM that had failed to exit cleanly was
+ sent a SIGTERM prior to a SIGKILL. The SIGTERM made no difference and
+ slowed down the forced shutdown. A modification to the event loop made
+ the functionality more difficult to implement.
+* Add the ability to set the user that the Wrapper and its JVM will run as
+ from within the sh script on UNIX platforms.
+* Add an icon resource to the Wrapper binary on Windows versions.
+* Fix a typo in the UNIX sh script which caused an extra slash to be included
+ in the path of the pid file. Was not causing any known problems.
+* Added support for 64-bit HP-UX. Big thanks to Venkatesh Sellappa for
+ supplying the patch.
+* Fix a deadlock problem introduced in 3.1.0 with some FreeBSD systems. Not
+ all users were experiencing it, but those who did were able to reliably
+ reproduce the problem. The problem appears to have been caused by
+ FreeBSD bug #kern/64313.
+* Make the signal handling variables in the wrapper native library volatile.
+ Directly this was to fix a compiler warning on HP-UX64 systems but it
+ should also make the calls more efficient.
+
+3.1.0
+* The license was revised for this version to include a copyright omission.
+ This change is to be retroactively applied to all versions of the Java
+ Service Wrapper starting with version 3.0.0. The changes should have
+ no effect on users.
+* The Online documentation and web site were both reworked. The logo has
+ been updated so that Duke is no longer used. The new online site now
+ has the ability for users to logon and append comments to any page.
+* Added a new batch file which accepts commands like the UNIX shell script.
+ The new file is offered as an alternative to the default batch files, and
+ can be found at src/bin/AppCommand.bat.in. Thanks to Mike Castle for
+ donating the new script.
+* The Windows version of the Wrapper was not correctly registering that it
+ would accept SHUTDOWN messages when running as a service. The Wrapper
+ was getting the message anyway so this should not change functionality.
+ Thanks to Jason Tishler for noticing this and sending in a patch.
+* Add a new property, wrapper.native_library, which can be used to specify
+ the base name of the native library which is loaded by the WrapperManager
+ class.
+* Modify the WrapperManager class so it now stores references to System.out
+ and System.err on initialization and always writes to those stored streams.
+ This makes sure that all Wrapper console output always goes to the
+ wrapper.log file even if user code overrides those streams with calls to
+ System.setOut and System.setErr. This was necessary to prevent deadlocks
+ in such user code from affecting the functionality of the Wrapper.
+* Fixed a problem where some environment variables where not being correctly
+ loaded from the system registry when running as an NT service. Big thanks
+ to Eric Smith for tracking this down and submitting a patch. It turns out
+ that the putenv function was not being used correctly.
+* Modified the way the wrapper.conf file is loaded so it will now read the
+ contents correctly even if the line feeds in the file are incorrect for
+ the current platform. Windows line feeds had been causing problems when
+ used on UNIX platforms. Feature Request #829896.
+* Added a new property, wrapper.ntservice.console, which allows a console to
+ be displayed when running as an NT service.
+* Fixed a problem where the request thread dump on failed JVM exit feature
+ had never worked when running as an NT service. Bug #831775.
+* Add a new property, wrapper.console.title, which makes it possible to set
+ the title of the console in which the Wrapper is currently running. This
+ currently only works on Windows platforms.
+* Added a new method, setConsoleTitle, to the WrapperManager class which
+ enables the application to dynamically set the console title. Like the
+ wrapper.console.title property, this only works on Windows platforms.
+* Improved the algorithm of the request thread dump on failed JVM exit feature
+ so that extremely large thread dumps will not be truncated when the JVM
+ is killed.
+* Fix a problem where CTRL-C was being ignored by the WrapperManager if a
+ WrapperListener is never registered. This is not possible if the Wrapper
+ is being used correctly but never the less a user did come across it.
+* Add some additional debug output to help identify the cause of problems
+ loading the native library.
+* The WrapperManager class now checks to make sure that its current version
+ matches the version of the native library and Wrapper. If there are any
+ discrepancies found then appropriate warnings will be displayed, but the
+ Application will still be allowed to start. This was added to make obvious
+ the cause of problems resulting from mismatched versions.
+* Added a new property wrapper.use_system_time system time. By setting this
+ property to false, the Wrapper will start using a new experimental timer
+ which uses a background thread to manage time rather than the system time.
+ This has a number of advantages over using the system time and should give
+ most users even more reliable behavior when the system is under high load
+ or there are changes being made to the system time. The timer is very
+ critical to the operation of the Wrapper so the old behavior is left as
+ the default for the time being until this feature has had the chance to be
+ "time" tested. If all goes well then this will be enabled as the default
+ in a future version of the Wrapper.
+ A pair of related properties, wrapper.timer_fast_threshold and
+ wrapper.timer_slow_threshold were also added to aid in debugging.
+* Rework the logging code so it is now thread safe. The addition of the
+ timer thread means that there is now more than a single thread accessing
+ that code. This was causing problems as the two threads tried to use the
+ same buffers. As part of this change, a new format variable 'D' was added
+ to display the thread which is doing the logging.
+* Fix a problem where a thread dump would be invoked if the request thread
+ dump on failed JVM exit was enabled and the user forced an immediate
+ shutdown by pressing CTRL-C more than once.
+* Add getUser and getInteractiveUser methods to the WrapperManager class to
+ make it possible for user code to query information about the user running
+ Wrapper or the user who is interacting with the Wrapper and its JVM.
+ Feature Request #812175.
+* The Wrapper will now always exit with the exit code used to terminate the JVM
+ whether System.exit is used or WrapperManager.stop. When running as an NT
+ service the Wrapper now correctly returns the correct exit code to the
+ service manager so failure recovery tools should now work correctly.
+ Feature Request #852491.
+* Add a status command to the UNIX shell script which can be used to find out
+ whether or not the wrapper is currently running. Patch submitted by
+ Joseph Benavidez.
+* Modify the WrapperSimpleApp and WrapperStartStopApp so that the main method
+ of a class is located even if it exists in a parent class rather than the
+ class specified.
+* To make debugging classpath problems easier, the Wrapper now verifies all
+ classpath entries before launching a JVM and logs debug level warnings for
+ any entries that do not exist.
+* Fix a problem where it was possible to define a zero length filter that would
+ trigger on any output.
+* Add some additional debug output to make it easier to debug startup,
+ shutdown and restart problems.
+* Modify the way the Wrapper forcibly kills a frozen JVM on UNIX platforms so
+ that it now sends a SIGTERM, waits up to 5 seconds, then sends a SIGKILL.
+* Add a new wrapper.java.library.path.append_system_path property which will
+ cause the Wrapper to append the system path to the generated library path.
+ Feature Request #917902.
+* Fix a problem where spaces around the '=' character of a property definition
+ were rendering the property invisible to the Wrapper. Bug #916001.
+* Fix a problem where the first ping timeout after the JVM was started was
+ still hard coded at 30 seconds. This was causing a combination of large
+ values of wrapper.ping.interval and wrapper.ping.timeout to fail.
+* Fix a problem where the JVM would fail to shutdown cleanly if the Wrapper
+ was asked to stop too soon after launching a JVM. This was leading to the
+ JVM being killed after the shutdown timeout expired. Bug #917281.
+* Added an adviser which will print out explanatory messages to the console
+ and wrapper log file when the Wrapper encounters a commonly made
+ configuration mistake. This is designed to cut down on support requests
+ by new users. Can be disabled using the wrapper.adviser property.
+* The bash script and the realpath utility have been deprecated since version
+ 3.0.3. They have been removed in this release. The sh script is recommended
+ on all UNIX platforms, and the realpath utility which was used by pre-3.0.3
+ bash and sh scripts has not been used since.
+* Add the wrapper.startup.delay property along with console and service
+ specific variants which make it possible to configure a delay between the
+ Wrapper being launched and the first JVM being launched.
+* Promote the wrapper.debug property back from being "deprecated". It has
+ continued to be useful and deserved documentation and official status.
+* Add wrapper.on_exit.<n> properties to control what happens when a exits
+ based on the exit code.
+* Modify the way calls to System.in.read() are handled so that they now block
+ rather than throwing an exception. Currently, System.in can not be used with
+ the Wrapper because of the way I/O is passed between the Wrapper and JVM.
+* Modified the Windows batch files to fix a problem where the path to the
+ Wrapper.exe contained more than one "/bin". The new batch files are much
+ simpler and should be easier to customize if needed. Bug #925308.
+* Modified the wrapper.java.initmemory and wrapper.java.maxmemory properties
+ so that they now default to a value of 0 which causes the -Xms and -Xmx
+ parameters to be omitted from the command used to launch Java. This
+ will cause the JVM to use its own default values and also makes it possible
+ to specify the memory parameters using the wrapper.java.additional.<n>
+ properties.
+* Added a pair of environment variables, WRAPPER_FILE_SEPARATOR and
+ WRAPPER_PATH_SEPARATOR, whose values are set to either '/' and ':' or
+ '\' and ';' on startup. They can be used in the wrapper.conf file
+ to construct platform independent property values.
+* Add a new wrapper.working.dir property which makes if possible to change
+ the Wrapper and JVM's working directory to a location other than the
+ location of the Wrapper binary. Feature Request #738160.
+
+3.0.5
+* Added support for SGI Irix. Big thanks to Andreas Wendt for supplying the
+ patch.
+* Due to a bug in the build, the native library was not included in the 3.0.3
+ or 3.0.4 binary releases for OSX, building from source was working correctly.
+ This has been fixed and the build greatly simplified to avoid such problems
+ in the future. Bug #791755.
+* Changed the default location of the pid file generated by the sh script to
+ exist in the same directory as the sh script rather than in the /var/run.
+ This can be changed by setting the PIDDIR variable in the sh script used to
+ launch the Wrapper.
+* Added support for the wrapper.pidfile property on the Windows platform.
+* Added the wrapper.java.pidfile property which will cause the pid of the
+ java process to be written to a specified file.
+ (WINDOWS USERS) If you are using a wrapper.conf file that was created prior
+ to version 3.0.0 of the Wrapper, then you may have this property defined in
+ your configuration file. You will get an error on startup if the specified
+ path does not exist.
+* Stop clearing the file creation mask when the Unix version of the Wrapper is
+ run as a daemon process. The file creation mask will not be inherited from
+ the process which launches the Wrapper. Bug #788849.
+* Modify the sh script so it works on Linux, then deprecate the bash script.
+ This means that all Unix platforms can now use the same script to control
+ the Wrapper. Thanks to Mike Castle for the patch. The bash script can still
+ be found in the release, but it is deprecated and will be removed in a
+ future version.
+* Modified the sh script so it is now possible to set the nice priority in the
+ script configuration block.
+* Remove output to System.out in the WrapperManager.requestThreadDump() method.
+ If some JVM threads were hung while accessing the System.out object,
+ attempting to do a thread a dump would cause the calling thread to hang as
+ well. Thanks to Thomas Hart for the patch.
+* Make it obvious in the log whether or not the Wrapper was started as a
+ daemon process on UNIX systems.
+* Modify the way restarts requested from the JVM, or caused by a filter are
+ handled. The Wrapper will no longer reset the restart count in either of
+ these cases. If an application runs for longer than the
+ wrapper.successful_invocation_time timeout then the count will still be
+ reset back to 0.
+* Added a new wrapper.ignore_signals property which makes it possible to
+ configure the Wrapper so it will ignore CTRL-C, HALT and INT signals.
+* Modify the WrapperManager.isLaunchedAsService() method on UNIX systems so it
+ now returns true if the Wrapper was launched with the wrapper.daemonize flag
+ set.
+* Added a pair of MBean interfaces which allow the Wrapper to be controlled
+ using JMX. See the new JMX section in the documentation for details.
+ Thanks to Sal Ingrilli for help with testing.
+* Modify the Windows build so the Wrapper.exe and Wrapper.dll files can now
+ be built from Ant if MSVC is installed.
+* Added a new wrapper.ping.interval property which lets users control the
+ frequency that the Wrapper pings the JVM. Feature Request #607768.
+* When a JVM refuses to shutdown, the Wrapper can be configured to request a
+ thread dump using the wrapper.request_thread_dump_on_failed_jvm_exit
+ property. The Wrapper was then waiting 1 second before the process was
+ killed. This was not always long enough, resulting in a truncated thread
+ dump. Increased the pause to 3 seconds. Feature Request #633761.
+* Fix a bug where wrapper.app.parameter.<n> and wrapper.java.additional.<n>
+ properties declared from the Windows command line were not correctly
+ handling spaces in their values. Support Request #802139.
+
+3.0.4
+* Fix a problem on UNIX systems where requesting a second thread dump any time
+ during the life of a single Wrapper process would cause the Wrapper and JVM
+ to shutdown rather than perform the thread dump.
+* Fix a problem where a, user without permission, attempting to stop an
+ application was able to delete the pid file even though they were unable
+ to stop the application itself. This would make the scripts think that
+ the application was stopped when was actually still running.
+* Fix a problem where an application was being killed prematurely if it took
+ longer than 6 seconds to exit on its own. The scripts now make sure that
+ an application always has enough time to shutdown cleanly.
+* Improve the debug output so that packet codes are now shown using a name
+ rather than a raw number.
+* Reduce the frequency of "Waiting to stop..." messages displayed when removing
+ an NT service that is currently running. Decreased frequency from once per
+ second to once every five seconds.
+* Fix a minor problem where the hour in the date returned by
+ WrapperInfo.getBuildTime() was not base 24.
+* Added -t and -p command line options to the Windows version of the Wrapper
+ to sTart and stoP the Wrapper as an NT service. This can be used in place
+ of "net start" and "net stop", which do not always work correctly when a
+ service takes a long time to start up or shutdown. See the Launching Your
+ Application (Win32) section for more details.
+* Add a new method WrapperManager.stopImmediate which will cause the JVM to
+ exit immediately without calling any stop methods or shutdown hooks.
+* Add a new class, WrapperActionServer, which makes it easy to remotely control
+ the Wrapper remotely by opening a socket and sending commands. See the
+ javadocs of the class for more details.
+* Fix bug #744801. A Java GUI was not being displayed when the application was
+ run in either console mode or as a service with wrapper.ntservice.interactive
+ enabled. This problem was introduced in Version 3.0.0 when using 1.2.x or
+ 1.3.x versions of Java. To use interactive services with 1.2.x or 1.3.x
+ versions of java, please review the documentation for the
+ wrapper.ntservice.interactive property.
+* Fix a problem where the JVM was not receiving CTRL-C and CTRL-CLOSE events
+ when running under the Wrapper on Windows. This was not a problem in most
+ cases as the Wrapper was taking care of the processing of the events. But
+ the WrapperListener.controlEvent() method was not being called as documented.
+* Changed the way the WrapperSimpleApp and WrapperStartStopApp respond to
+ control events so that the JVM will respond and call WrapperManager.stop()
+ even when being controlled by the Wrapper.
+* Modified the suggested behavior of the WrapperListener.controlEvent() method.
+ Users who have implemented the WrapperListener interface themselves should
+ review the Javadocs. The changes are not required and applications will
+ continue to function as they did before.
+* Added support for DEC OSF1 (Alpha). Big thanks to Andreas Wendt for
+ supplying the patch.
+* Fix a problem where the sh and bash scripts were failing if the path to the
+ script contained spaces.
+* Fix a problem where the JVM would sometimes hang when trying to shutdown if
+ the wrapper.key parameter was passed to the JVM while not being controlled
+ by the Wrapper. This would happen if a user copied the command from the
+ Wrapper's debug output and attempted to run it as is without first removing
+ the wrapper.key parameter.
+* Implement the ability to specify an NT service's load order group in response
+ to feature request #764143. See the javadocs for the new
+ wrapper.ntservice.load_order_group property for details.
+* Improve the error message displayed when the NT EventLog is full in response
+ to feature request #643617. The EventLog output will now be disabled if any
+ errors are encountered while logging events. This prevents the error from
+ repeating.
+* Improve the error message displayed on Windows when the configured Java
+ command can not be executed or does not exist.
+* Fix a problem where the Wrapper was leaving a pipe unclosed each time the JVM
+ was restarted on all UNIX platforms. This was causing the Wrapper to run out
+ of file handles. Bug #767267, discovered and patched by David Wong.
+* Fix a problem where the '#' character, which signifies a comment, could not
+ be included in property values. A double hash, '##' will now resolve into a
+ '#' within the property value. Bug #777303.
+* Added support for FreeBSD. Big thanks to Alphonse Bendt for supplying the
+ patch.
+* Make the wrapper.port property optional.
+* Changed the way environment variables are loaded from the registry on Windows
+ platforms so users will no longer get warning messages about not being able
+ to handle very large environment variables. Prior versions could only handle
+ environment variables whose expanded value was less than 2048 characters in
+ length.
+* Fix a problem on UNIX platforms where a shell used to start the Wrapper
+ running as a detached process would hang when the user attempted to exit
+ the shell. Thanks to Mike Castle for this patch.
+
+3.0.3
+* Added support for Mac OS X. Big thanks to Andy Barnett for supplying the
+ patch.
+* Fix a segmentation fault on UNIX systems when the first console output
+ from the JVM was an empty line. Thanks to Mike Castle for finding this.
+* Fix a problem where a 0 length malloc was being called if there were no
+ configured filters. This was fine on most platforms but caused a crash
+ on MAC OS X.
+* Rework the initialization of the bash and sh scripts so that they will
+ work correctly when referenced as symbolic links. Thanks go out to Richard
+ Emberson for the code to resolve symbolic links.
+* Deprecated the realpath binary in the *NIX distributions as it is no longer
+ used by the bash or sh scripts. It is being left in for now so as not to
+ break the build scripts of other projects, but it will be removed after a
+ couple more releases.
+* Added a test to make sure that wrapper.ntservice.interactive is not set to
+ TRUE when an account is specified using wrapper.ntservice.account.
+
+3.0.2
+* Modified the sh and bash scripts so that console log output is disabled by
+ default when the scripts are launched with the 'start' action. Running with
+ the 'console' action will still send output to the console. Logging to the
+ file is still enabled.
+* Modified the wrapper.ping.timeout property so it also controls the ping
+ timeout within the JVM. Before the timeout on responses to the Wrapper
+ could be controlled, but the ping timeout within the JVM was hardcoded to
+ 30 seconds.
+* In the last release, some work was done to avoid false timeouts caused by
+ large quantities of output. On some heavily loaded systems, timeouts were
+ still being encountered. Rather than reading up to 50 lines of input, the
+ code will now read for a maximum of 250ms before returning to give the main
+ event loop more cycles.
+* Fix a problem where the values of environment variables set in the
+ configuration file were not correct when those values included references
+ to other environment variables.
+* Fix a potential buffer overflow problem if configuration properties
+ referenced extremely large environment variables.
+* Fix a potential problem where the inability to expand very large environment
+ variables would have led to an access violation when run as an NT service.
+* Add some extra checks in the event where the native library can not be loaded
+ so that the WrapperManager can differentiate between the library missing and
+ not being readable due to permission problems.
+* Remove the wrapper.ntservice.process_priority from the default wrapper.conf
+ because its use can produce unexpected results if used improperly. Please
+ see the property documentation for details.
+* Fix a problem where environment variables in the registry which had no value
+ were causing the Wrapper to crash with an access violation. This was
+ introduced in version 3.0.0 with the feature to load environment variables
+ from the registry. The offending registry entry was WV_GATEWAY_CFG which
+ appears to be related to Oracle.
+
+3.0.1
+* Fix a problem with the wrapper.disable_shutdown_hook. Due to a typo in the
+ source, the property was being ignored. This was broken in the 3.0.0
+ release.
+* Fix a problem with the HP-UX release build reported by Ashish Gawarikar.
+* Add the ability to set environment variables from within the configuration
+ file or from the command line.
+* Fix a problem on HP-UX and AIX machines where the stop() function in the
+ shell scripts was causing a syntax error due to a conflict with a like named
+ shell command on those platforms. This appears to be an issue with the
+ Korn shell on all platforms.
+* Fix a problem where very heavy output from the JVM can cause the Wrapper to
+ give a false timeout. The Wrapper now only reads 50 lines of input at a time
+ to guarantee that the Wrapper's event loop always gets cycles.
+* Fix a problem on UNIX versions where extra line breaks would sometimes be
+ added to the logged output when there was large amounts of output being
+ sent from the JVM.
+* Fix a problem where a large number of calls to WrapperManager.log()
+ immediately before the JVM exits could lead to the Wrapper incorrectly
+ reporting that the JVM exited unexpectedly.
+
+3.0.0
+* Deprecated the com.silveregg.wrapper package in favor of
+ org.tanukisoftware.wrapper. The classes and interfaces in the silveregg
+ package will continue to function, but migration to the new package should
+ be done when possible. See the project history for details.
+* On Windows systems change any forward slashes in the wrapper.java.command
+ property to back slashes. Some users had reported having problems on
+ Windows XP.
+* Implemented feature request #633178. Added WrapperManager.requestThreadDump()
+ to force the current JVM to immediately perform a thread dump.
+* Fixed bug where wrapper.logfile.maxsize was being set to 0 if the 'k' or 'm'
+ unit was omitted.
+* Add the ability to specify an account name and password when installing an
+ NT service.
+* Add a property, wrapper.ntservice.interactive, which makes it possible to
+ control whether or not the Java process can gain access to the desktop while
+ it is running as an NT service.
+* Add limited support for 1.2.x versions of Java. Shutdown hooks are
+ supported until Java 1.3 so those functions will be disabled. If the
+ application displays a GUI then Java 1.3 should be used as the GUI can not
+ currently be displayed when using Java 1.2.x.
+* Made it possible to use the wrapper.pidfile property on all *nix platforms.
+ Please notice that the property has been removed from the default
+ wrapper.conf file. The property is not needed when the wrapper is launched
+ with the bash shell script. The sh shell script will set the wrapper.pidfile
+ when the wrapper is launched. If either of the scripts provided with the
+ Wrapper distribution are used then the wrapper.pidfile should always be
+ removed from your wrapper.conf file.
+* Added a new wrapper.daemonize property which, when set, will form the wrapper
+ process to be a detached non-session group leader. This makes it possible to
+ launch the wrapper in such a way that it will not be terminated when the user
+ launching the process logs out. This had been a problem on Solaris systems
+ when using the sh shell. The default sh and bash scripts both make use of
+ this in the default. Please update your scripts for use with this version.
+ Thanks to Rajiv Subrahmanyam for the patch.
+* Fix a problem where the Wrapper was incorrectly counting the number of
+ non-daemon threads in BEA's JRockit Virtual Machine. This was causing the
+ application to shutdown when the non-daemon thread count dropped to 1.
+* Added support for building the wrapper on AIX and HP-UX systems. Thanks for
+ the patches involved go out to Ashish Gawarikar and William Lee.
+* Implement feature request #653131 to force the JVM to immediately exit when
+ the user presses CTRL-C multiple times.
+* Added a 'console' action to the bash and sh scripts to make it possible to
+ launch the Wrapper in the current shell process. The 'start' task will launch
+ the Wrapper as a spawned daemon process.
+* Fixed a problem where missing environment variables specified in classpath
+ or library path properties were not being handled correctly.
+* Implemented feature request #676599 to enable the filtering of JVM output to
+ trigger JVM restarts or Wrapper shutdowns. See the new
+ wrapper.filter.trigger.n and wrapper.filter.action.n properties.
+* Modify the Win32 version of the Wrapper so that Environment Variables are
+ always read from the system registry when the Wrapper is run as a service.
+ By doing this, it makes it possible to change or add the system environment
+ variables and have them take effect without having to first reboot the
+ machine.
+* Implemented cascading configuration files.
+* Changed the default value for the wrapper.java.initmemory property to be 3Mb.
+ The default on Windows and Linux JVMs is 2Mb, but the Solaris JVM requires
+ a minimum of 3Mb. The minimum value accepted by the Wrapper was changed
+ from 8Mb to 1Mb to make it possible to reduce the footprint of applications
+ to what is possible without using the wrapper.
+* Improve the parsing of configuration files so that leading and trailing white
+ space is now correctly trimmed. It is also now possible to have comments at
+ the end of a line containing a property.
+* Modify the way exceptions thrown by an application's main method are
+ presented to the user by the WrapperSimpleApp and WrapperStartStopApp so
+ they no longer look like a problem with Wrapper configuration.
+
+2.2.9
+* Added a new property, wrapperper.restart.delay, which allows the user to control
+ the amount of time to pause between a JVM exiting and a new JVM being
+ launched.
+* Fixed bug #611024. The Wrapper would sometimes fail to start if
+ wrapper.max_failed_invocations is set to 1.
+* Fix a problem where the number of non-daemon threads was not being calculated
+ in some cases.
+* Implemented feature request #491443. Environment variables referenced in the
+ wrapper.conf file will now be evaluated as the file is loaded. The windows
+ syntax for environment variables is used on all platforms to make them
+ platform independent.
+* Fixed a problem where the wrapper.conf was being open with both read and
+ write locks when a read lock is all that is needed. Made the wrapper fail
+ on startup if another application held a read lock on the conf file.
+* Modified the message displayed when the native library could not be found,
+ so that it is much more descriptive. Hopefully it will cut down on questions
+ caused by configuration problems.
+* Implemented feature request #613539. Modified the wrapper.java.library.path
+ to function like the wrapper.java.classpath.n properties so that multiple
+ directories can be specified in the library path in a platform independent
+ way. The old property is still supported, but deprecated.
+* Fix Bug #632215. The WrapperManager.isLaunchedAsService() method was always
+ returning false, even when run as a service under Windows. On linux, the
+ Wrapper is always run as a console app, so this method will always return
+ false.
+* Improve the message thrown when user code attempts to access System.in from
+ within a JVM being controlled by the Wrapper. System.in will not work
+ because the JVM is a spawned process.
+
+2.2.8
+* Fixed a compiler problem on Solaris some systems.
+* Added a new property, wrapper.cpu.timeout, which allows the user to control
+ how much time without receiving any CPU the Wrapper will tolerate before
+ displaying a warning message. The CPU timeout feature was added in 2.2.7
+ but the default timeout of 10 seconds was not configurable.
+* The Wrapper was only allowing 5 seconds between the JVM informing the
+ Wrapper that it was going to exit and the JVM process actually exiting.
+ This would cause the Wrapper to terminate the process prematurely in
+ cases where an application shutdown thread took longer than 5 seconds to
+ complete. The Wrapper now allows wrapper.jvm_exit.timeout seconds for
+ the JVM process to exit on its own before being forcibly terminated.
+* When there is a configuration problem or a resource is unavailable, a JVM
+ will sometimes exit abnormally very shortly after being launched. This
+ can lead the the JVM being infinitely restarted due to a simple class
+ path misconfiguration. To work around this, the Wrapper has always had
+ a hard limit of 5 restarts within a short period of time. If the JVM
+ has been running for more than a few minutes, then the count was reset.
+ In this version, a new property. wrapper.max_failed_invocations was added
+ to allow the max value to be set. The time period which the JVM must
+ now be running for the JVM launch to have been considered a success for
+ restart purposes is set using the new wrapper.successful_invocation_time
+ property.
+* The number of advanced properties which most users do not need has been
+ increasing as the Wrapper has been made more and more flexible. This
+ has been causing confusion in their usage by people who play with them
+ without first reading the documentation. To solve this, the advanced
+ properties were removed from the default configuration file. They still
+ function. But users must now read to the advanced configuration
+ documentation to learn about their existence. Added quite about to the
+ descriptions of these properties to hopefully clear up any confusion
+ about their usage.
+* When the JVM exits abnormally, the Wrapper will pause for a few seconds
+ before starting another JVM. If the user pressed CTRL-C during this
+ pause, a new JVM would still be launched. The new JVM was exiting
+ immediately but it was a waste of time. The Wrapper now recognizes the
+ event and aborts launching the new JVM.
+* Added a page to the documentation which shows inline javadocs. This
+ will hopefully make it easier to navigate them as part of the full
+ documentation set.
+* Added a new method to the WrapperManager which enables user code to
+ log at any log level.
+* Added a new Helper class WrapperStartStopApp which allows users to easily
+ integrate applications like Tomcat which use a separate class to stop
+ the application.
+* Added a samples section to the documentation. Just includes Tomcat 4
+ for now.
+
+2.2.7
+* Fix a problem where the JVM was trying to reconnect the Wrapper as it was
+ being shutdown. This was causing problems if the JVM was being restarted.
+* Added support for the system being suspended to RAM or disk. Also improved
+ wrapper performance when a system is under 100% load. See the new example
+ output in the example section.
+* Fix a problem where the log output was not being directed to a file called
+ wrapper.log in the same directory as the Wrapper binary in the event that the
+ configured wrapper log file could not be accessed.
+* Fix a problem where the Wrapper was not shutting down the JVM correctly when
+ all non daemon threads completed. Normally a JVM will exit when all of its
+ non daemon threads have completed so this was causing some problems.
+ (Thanks to Jung Tamas)
+* Added the ability to set the priority of the Wrapper and its JVM when run
+ as an NT service or console application. The same thing can be better
+ achieved on Unix systems by using "nice" in the shell script used to launch
+ the Wrapper. See the documentation for for details.
+* JVM information was not being displayed correctly when the Wrapper native
+ library could not be loaded.
+* Added a new property to cause the wrapper to attempt to request a thread dump
+ when the JVM does not exit on request.
+* Improved the documentation of the WrapperSimpleApp and WrapperListener
+ classes.
+* Adding a new property wrapper.shutdown.timeout to allow the user to extend
+ the length of time that an application is allowed to take shutting down.
+* Rework the way the shutdown process works so that System.exit will never be
+ called before the stop method in WrapperListener has had a chance to complete.
+* Add a Restart button to the TestWrapper application.
+* Fix a problem on Unix versions where '%' characters in Java output would
+ sometimes cause the wrapper to crash. Somehow missed getting this into the
+ last release.
+* Added a test to make sure that WrapperManager.stop is not called recursively.
+* Added support for building under Windows XP. Prebuilt installations had
+ already been working.
+
+2.2.6
+* Fix a problem where '%' characters in Java output would sometimes cause the
+ wrapper to crash. (Thanks to Frode Moe)
+* Added support for requesting a Java thread dump without shutting down the
+ Java process.
+* Fixed a problem on windows where the java command was looking in the windows
+ system and system32 directories for the java executable before checking the
+ path when the full path to the java executable was not specified in the
+ configuration file. This could lead to different JVM being run from the
+ Wrapper than was run if java -version was run from the command line. The
+ Wrapper will now attempt to resolve the full java path using the PATH
+ environment variable.
+* Added debug output showing Java version information when the JVM first
+ starts.
+* Modified c source to use /* */ style comments rather than // style comments.
+ Some people were having problems with some compilers.
+
+2.2.5
+* Added support for service descriptions for Win2k and XP.
+* Fixed bug issue when reading configuration files from Windows on Unix.
+* Deprecated the wrapper.debug property in favor of loglevels.
+* Added new logger functionality includes the following features:
+ Loglevels like Log4j, NT Eventlog support, UNIX syslog support and rolling
+ log files.
+* Added wildcard support for classpath entries in wrapper.conf.
+* Added the ability to specify configuration properties from the command line.
+* Changed the way NT services are installed so that a patched version of the
+ Wrapper.exe file no longer needs to be created to reference the
+ wrapper.conf file.
+
+2.2.4
+* The value of APP_NAME in the bash or sh scripts no longer needs to be the
+ same as the script.
+* Added the ability to format and/or disable file logging and output to the
+ console.
+* Set mode of executables in binary release tar files so that they can be run
+ without modification after being extracted.
+* Fixed line feeds in release so that bat files are always CRLF, unix scripts
+ are always LF. Other source files are always CRLF in ZIP archives and LF
+ in tar.gz archives.
+* Make the build fail if Wrapper.exe or Wrapper.dll do not exist for Windows
+ builds.
+* Added an empty wrapper.log to the releases so that the TestWrapper example
+ program runs out of the box.
+
+2.2.3
+* Added template scripts and conf files for ease of integration with other
+ applications.
+* Cleaned up the build.
+* The WrapperSimpleApp method of launchine applications was not working
+ correctly with applications whose main method did not return.
+* Add sample scripts and wrapper.conf files in the bin and lib directories.
+ These scripts are used to start a sample application which runs out of the
+ box. See the new example.html page in the documentation for more details.
+* Get rid of the platform specific directories in the bin and lib directories.
+* Enable relative paths for Windows version. In previous versions of Wrapper,
+ it was necessary to always use absolute paths because the working directory
+ of the wrapper would be then NT System32 directory when run as a service.
+* On the windows version, the wrapper always sets the current working
+ directory to the location of the wrapper executable immediately after
+ startup.
+* Improvements to the documentation / web page.
+
+2.2.2
+* Added HTML based documentation.
+
+2.2.1
+* Added Linux and Solaris build files.
+* Added Linux and Solaris documentation.
+
+2.2.0
+* Initial Public Release.
+
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/doc/revisions.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc.tar.gz
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc.tar.gz?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc.tar.gz
------------------------------------------------------------------------------
svn:mime-type = application/x-gzip
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html?view=auto&rev=507826
==============================================================================
--- geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html (added)
+++ geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html Wed Feb 14 21:48:50 2007
@@ -0,0 +1,5 @@
+<html><body>
+The javadocs for this application are found in $WRAPPER_HOME/jdoc.tar.gz. Please extract this
+archive into the $WRAPPER_HOME directory.<p>The javadocs could not be included directly in the
+original tar distribution due to a lack of support for long path names in some tar implementations.
+</body></html>
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/jdoc/index.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-ppc-64.so
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-ppc-64.so?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-ppc-64.so
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-ppc-64.so
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-32.so
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-32.so?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-32.so
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-32.so
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-64.so
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-64.so?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-64.so
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-linux-x86-64.so
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-ppc-32.jnilib
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-ppc-32.jnilib?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-ppc-32.jnilib
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-ppc-32.jnilib
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-universal-32.jnilib
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-universal-32.jnilib?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-universal-32.jnilib
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-macosx-universal-32.jnilib
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-32.so
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-32.so?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-32.so
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-32.so
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-64.so
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-64.so?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-64.so
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-sparc-64.so
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-x86-32.so
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-x86-32.so?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-x86-32.so
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/libwrapper-solaris-x86-32.so
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrapper-windows-x86-32.dll
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrapper-windows-x86-32.dll?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrapper-windows-x86-32.dll
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrapper.jar
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrapper.jar?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrapper.jar
------------------------------------------------------------------------------
svn:mime-type = application/java-archive
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrappertest.jar
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrappertest.jar?view=auto&rev=507826
==============================================================================
Binary file - no diff available.
Propchange: geronimo/sandbox/build-support/libraries/jsw/3.2.3/lib/wrappertest.jar
------------------------------------------------------------------------------
svn:mime-type = application/java-archive
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/App.bat.in
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/App.bat.in?view=auto&rev=507826
==============================================================================
--- geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/App.bat.in (added)
+++ geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/App.bat.in Wed Feb 14 21:48:50 2007
@@ -0,0 +1,55 @@
+@echo off
+setlocal
+
+rem Copyright (c) 1999, 2006 Tanuki Software Inc.
+rem
+rem Java Service Wrapper general startup script
+rem
+
+rem
+rem Resolve the real path of the wrapper.exe
+rem For non NT systems, the _REALPATH and _WRAPPER_CONF values
+rem can be hard-coded below and the following test removed.
+rem
+if "%OS%"=="Windows_NT" goto nt
+echo This script only works with NT-based versions of Windows.
+goto :eof
+
+:nt
+rem
+rem Find the application home.
+rem
+rem %~dp0 is location of current script under NT
+set _REALPATH=%~dp0
+
+rem Decide on the wrapper binary.
+set _WRAPPER_BASE=wrapper
+set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
+if exist "%_WRAPPER_EXE%" goto conf
+set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
+if exist "%_WRAPPER_EXE%" goto conf
+set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%.exe
+if exist "%_WRAPPER_EXE%" goto conf
+echo Unable to locate a Wrapper executable using any of the following names:
+echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
+echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
+echo %_REALPATH%%_WRAPPER_BASE%.exe
+pause
+goto :eof
+
+rem
+rem Find the wrapper.conf
+rem
+:conf
+set _WRAPPER_CONF="%~f1"
+if not %_WRAPPER_CONF%=="" goto startup
+set _WRAPPER_CONF="%_REALPATH%..\conf\wrapper.conf"
+
+rem
+rem Start the Wrapper
+rem
+:startup
+"%_WRAPPER_EXE%" -c %_WRAPPER_CONF%
+if not errorlevel 1 goto :eof
+pause
+
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppCommand.bat.in
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppCommand.bat.in?view=auto&rev=507826
==============================================================================
--- geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppCommand.bat.in (added)
+++ geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppCommand.bat.in Wed Feb 14 21:48:50 2007
@@ -0,0 +1,97 @@
+@echo off
+setlocal
+
+rem Copyright (c) 1999, 2006 Tanuki Software Inc.
+rem
+rem Java Service Wrapper command based script
+rem
+
+if "%OS%"=="Windows_NT" goto nt
+echo This script only works with NT-based versions of Windows.
+goto :eof
+
+:nt
+rem
+rem Find the application home.
+rem
+rem %~dp0 is location of current script under NT
+set _REALPATH=%~dp0
+
+rem Decide on the wrapper binary.
+set _WRAPPER_BASE=wrapper
+set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
+if exist "%_WRAPPER_EXE%" goto validate
+set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
+if exist "%_WRAPPER_EXE%" goto validate
+set _WRAPPER_EXE=%_REALPATH%%_WRAPPER_BASE%.exe
+if exist "%_WRAPPER_EXE%" goto validate
+echo Unable to locate a Wrapper executable using any of the following names:
+echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-32.exe
+echo %_REALPATH%%_WRAPPER_BASE%-windows-x86-64.exe
+echo %_REALPATH%%_WRAPPER_BASE%.exe
+pause
+goto :eof
+
+:validate
+rem Find the requested command.
+for /F %%v in ('echo %1^|findstr "^console$ ^start$ ^pause$ ^resume$ ^stop$ ^restart$ ^install$ ^remove"') do call :exec set COMMAND=%%v
+
+if "%COMMAND%" == "" (
+ echo Usage: %0 { console : start : pause : resume : stop : restart : install : remove }
+ pause
+ goto :eof
+) else (
+ shift
+)
+
+rem
+rem Find the wrapper.conf
+rem
+:conf
+set _WRAPPER_CONF="%_REALPATH%..\conf\wrapper.conf"
+
+rem
+rem Run the application.
+rem At runtime, the current directory will be that of wrapper.exe
+rem
+call :%COMMAND%
+if errorlevel 1 pause
+goto :eof
+
+:console
+"%_WRAPPER_EXE%" -c %_WRAPPER_CONF%
+goto :eof
+
+:start
+"%_WRAPPER_EXE%" -t %_WRAPPER_CONF%
+goto :eof
+
+:pause
+"%_WRAPPER_EXE%" -a %_WRAPPER_CONF%
+goto :eof
+
+:resume
+"%_WRAPPER_EXE%" -e %_WRAPPER_CONF%
+goto :eof
+
+:stop
+"%_WRAPPER_EXE%" -p %_WRAPPER_CONF%
+goto :eof
+
+:install
+"%_WRAPPER_EXE%" -i %_WRAPPER_CONF%
+goto :eof
+
+:remove
+"%_WRAPPER_EXE%" -r %_WRAPPER_CONF%
+goto :eof
+
+:restart
+call :stop
+call :start
+goto :eof
+
+:exec
+%*
+goto :eof
+
Added: geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppNoWrapper.bat.in
URL: http://svn.apache.org/viewvc/geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppNoWrapper.bat.in?view=auto&rev=507826
==============================================================================
--- geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppNoWrapper.bat.in (added)
+++ geronimo/sandbox/build-support/libraries/jsw/3.2.3/src/bin/AppNoWrapper.bat.in Wed Feb 14 21:48:50 2007
@@ -0,0 +1,12 @@
+rem Copyright (c) 1999, 2006 Tanuki Software Inc.
+rem
+rem This script is an example of how to run your application without the Wrapper, but with the
+rem Wrapper helper classes. You can obtain the actual command generated by the wrapper for
+rem your application by running the Wrapper with the wrapper.java.command.loglevel=INFO
+rem property set.
+rem
+rem The wrapper.key property MUST be removed from the resulting command or it will fail to
+rem run correctly.
+rem
+java -Xms16m -Xmx64m -Djava.library.path="../lib" -Djava.class.path="../lib/wrapper.jar;../lib/wrappertest.jar" -Dwrapper.native_library="wrapper" -Dwrapper.debug="TRUE" org.tanukisoftware.wrapper.test.Main
+