JavaService - Overview
 

Current Version: 1.2.0
Release Date: April 12, 2001

Java provides developers with a platform independent programming API. This allows programs to be written and compiled for distinct operating systems and architectures, such as Windows, Solaris, and Linux.

Windows NT/2000 includes a set of tools and APIs that allow the creation and management of programs that run as background tasks, or services. Services typically run without any user interaction. This is especially useful when running programs, such as web servers, that should start automatically when the operating systems starts. Also, a service can be manually stopped, started, or paused using the service control manager that is includes with the operating system.

JavaService is a Win32 executable that allows any Java class to be run as an NT service. It uses JNI's invocation API to create a Java Virtual Machine using any JNI compliant Java implementation. JavaService can call the typical entry method

static void main(String[])

in order to start the service, or any other method you choose. In order to stop the service it can call another method or simply terminate the JVM.

JavaService is free software. It is distributed using a BSD style license. This means that you can do whatever you want with it, provided you follow a few simple rules about distribution.

Release Notes

Version: 1.2.0
Release Date: April 12, 2001

  • Added the ability to have registry values greater than 256 characters. Registry access is now fully dynamic and values can have any length. A lot of people were having problems with the 256 character limit. I'm sorry it took so long to fix that, but I've been busy.
  • Fixed several printf statements that were missing parameters. Thanks to Anthony Tagunov for catching this.
  • Fixed a problem that prevented registry errors from being displayed properly. Thanks to Lars Johanson for sending in a fix for this.
  • Fixed a missing parameter in the Tomcat 3.2 install batch file. This is untested as I don't use Tomcat 3.2, so if someone would let me know if it works or not, I would appreciate it. Thanks to Joe Siebenmann for pointing out that there was a problem with the old batch file.
  • Added a new parameter "-current" to allow the current working directory to be specified. There were some people having problems with code that used relative paths, so this should help them out.
  • Added a new parameter "-path" to allow for extra path information to be added for finding dependent DLLs. Thanks to Lars Johanson for this submission.

Version: 1.1.1
Release Date: December 21, 2000

  • Added a new batch file to install Tomcat 3.2 that was contributed by James Bigler.

Version: 1.1.0
Release Date: October 11, 2000

  • Added an exit handler to the JVM so that a message is logged and the service is stopped gracefully if the System.exit method is called.

Version: 1.0.0
Release Date: August 27, 2000

  • Modified to work around a bug in the Sun J2SE 1.3 that caused the JVM to exit and the service to stop whenever a user logged off of the system.

Version: 0.9.0
Release Date: April 14, 2000

  • Initial Release.

To Do

When stopping the service, the time to wait for both the start and stop methods to return before the JVM is terminated is hard coded to 30 seconds. Make this adjustable.

Support

While this product is not really supported in any real sense, if you have questions or problems with it, please feel free to email eroberts@alexandriasc.com.