 |
Documentation
Users
Download
Get Involved
Hosted by:
|  |  |  |
Java Service Wrapper Release Notes
Java Service Wrapper Release Notes
|
Version 2.3.0: Changes and bugfixes |
-
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 ommitted.
-
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.
|
Version 2.2.9: Changes and bugfixes |
-
Added a new property, wrapper.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.
|
Version 2.2.8: Changes and bugfixes |
-
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 not 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 thier 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.
|
Version 2.2.7: Changes and bugfixes |
-
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.
|
Version 2.2.6: Changes and bugfixes |
-
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.
|
Version 2.2.5: Changes and bugfixes |
-
Fixed bug issue when reading config files from Windows on Unix.
-
Deprecated the wrapper.debug property in favor of loglevels.
-
Added support for service descriptions for Win2k and XP.
-
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.
|
Version 2.2.4: Changes and bugfixes |
-
The value of APP_NAME in the bash or sh scripts no longer needs to be the same as the script.
-
Added the ablility 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.
|
Version 2.2.3: Changes and bugfixes |
-
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.
|
Version 2.2.2: Changes and bugfixes |
|
Version 2.2.1: Changes and bugfixes |
|
Version 2.2.0: Changes and bugfixes |
|
|  |