Download List

Project Description

The Java Service Wrapper line of products are highly configurable tools which not only allow Java applications to be installed and controlled like native Windows Services or UNIX daemon processes, but also include advanced fault detection software which monitors an application. The Java Service Wrapper is able to detect crashes, freezes, out of memory and other exception events, then notify you via email when there is a problem. It does not stop there however, the Java Service Wrapper is unique in its ability to automatically react to any of the above events by shutting down your application or restarting it with a minimum of delay. These features combine to help you guarantee the maximum possible uptime for your application or service. The Wrapper allows businesses and developers to rapidly deploy reliable Java based solutions on a wide variety of platforms in a consistent way.

For more information about our Standard and Professional edition versions, please visit the Java Service Wrapper site.

System Requirements

System requirement is not defined
Wrapper
Wrapperソース
Wrapper バージョン 3.4.1 のソース
Wrapperプリリリース

Released at 2010-05-11 12:00
Wrapperソース Wrapper バージョン 3.4.1 のソース (2 files Hide)

Release Notes

3.4.1
* Fix a problem where the wrapper.app.parameter.1 property was always being
set to an empty string when launched from launchd on Mac OSX. It worked
correctly with the testwrapper application, but would fail or most user
applications.
* (Professional) Fix a potential synchronization problem in the log output
of the tick timer, event command and event email code. This had been in
the code since 3.3.0 without any reports of problems.
* Improve the error message displayed when the configured wrapper.java.command
can not be found on the path.
* Log the name of the signal in the logs when a SIGSEGV is detected from the
JVM. It had been logged as Unknown.
* Add some comments to the wrapper.conf.in template to help users get started
with a new license key file.
* Add some default properties to the wrapper.conf.in template file to make
it easier to get up and running with out of memory checks, as well as
sending out alert emails.
* Add a small debug message when running wrapperw.exe so it is clear which
wrapper binary is being used.
* Fix a problem where the wrapper.logfile.maxfiles was not being applied on
startup when the current log file did not yet exist. This was true for any
wrapper.logfile value which contained a unique value like a PID.
* (Professional) Fix a problem in the WrapperProcess.destroy() function, where
the function was failing to forcibly kill the child process.
* (Standard, Professional) Add a new GetHostID.bat file for Windows platforms.
This file will open a dialog displaying the HostId of the machine to help
new users get up and running.
* Add a new WrapperManager.appearOrphan() method which can be used to test
how the WrapperManager shuts down the JVM in the event that the Wrapper
process ever crashes or freezes. This was not due to any particular problem
and was added to fill out our test coverage.
* (Professional) Fix a problem where event commands were being left in a
defunct state after execution on UNIX platforms.
* Fix a potential problem on 64-bit versions where the internal tick timer was
not rolling over in the same way as the 32-bit versions. This has been in all
previous versions but is not known to have caused any problems. It was fixed
for consistency.
* Modify the WrapperManager class so it will now request a JVM hard exit only
after 4 times the ping timeout in seconds since the last contact with the
JVM. This had been 90 seconds more than the ping timeout, which was not
always long enough when the wrapper.ping.timeout was very large.
* Shift the initial start point of the tick counter so it will roll over 50
seconds after startup. This shouldn't be noticeable to the user, but makes
sure that this roll over is much better tested as it always happens the first
time on startup.
* Add a new wrapper.java.classpath.use_environment property which makes it
possible to set the classpath using the CLASSPATH environment variable rather
than including it on the Java command line.
* Fix a problem where requests to shutdown the Wrapper when in the state where
it was just about to launch a JVM would being ignored. This was fixed in all
editions, but was only an issue in the Professional Edition when the
wrapper.event.jvm_prelaunch.command.on_exit.<n>=SHUTDOWN property was being
used with the wrapper.event.jvm_prelaunch.command.block=TRUE property and the
command exited with a code that triggered the SHUTDOWN.
* (Professional) Add a new wrapper.event.<event_type>.command.block.action
property to control how the Wrapper behaves when a command does not complete
execution within the configured timeout. Accepted values are CONTINUE, KILL,
KILL_SHUTDOWN and KILL_RESTART. Default value is CONTINUE.
* (Professional) Made it possible to use the "default" event type with the
wrapper.event.<event_type>.command.loglevel,
wrapper.event.<event_type>.command.block,
wrapper.event.<event_type>.command.block.timeout,
wrapper.event.<event_type>.command.on_exit.<n>, and
wrapper.event.<event_type>.command.on_exit.default properties.
* Fixed a single byte buffer overflow which takes place just before the JVM is
launched on Windows platforms. This was introduced in 3.4.0.
* Add a message pointing the user to the Wrapper's log file when the service
fails to start after it has been launched.
* Update the debug message displayed when attempting to open the backend socket
if the port is unavailable so it doesn't seem like a problem. It will retry
with another port.
* Work around an issue on some Solaris problems where the shell script would fail
if /usr/ucb/ps wasn't installed.
* Fix a problem on UNIX versions where the Wrapper would fail to resolve the
correct location of java if it was located using the sytem PATH, and that PATH
element pointed to a binary via a relative symbolic link. This was introduced
in 3.4.0.

Changelog

No Changelogs