Introduction
Since 1994, the Java programming language evolved and became a
valid tool to develop, other than applets and client applications,
reliable and performant server applications. The major disadvantage of
the Java platform is that still today the only portable way to
start a Java application relies on a single point of entry: the
Having a single-point of entry is a valid solution for client
applications, where interactively a user can command to the application
to quit (which can terminate the Virtual Machine process at calling the
A server application written in Java might have to perform several tasks before being able to shutdown the Virtual Machine process. For example in the case of a Servlet container, before the VM process is shut down, sessions might need to be serialized to disk, and web applications need to be destroyed.
One common solution to this problem is to create (for example) a
Most multi-user operating systems already have a way in which server applications are started and stopped, under Unix based operating systems non interactive server applications are called daemons and are controlled by the operating system with a set of specified signals. Under Windows such programs are called services and are controlled by appropriate calls to specific functions defined in the application binary, but although the ways of dealing with the problem are different, in both cases the operating system can notify a server application of its imminent shutdown, and the application has the ability to perform certain tasks before its process of execution is destroyed. StructureDaemon is made of 2 part. One written in C that makes the interface to the operating system and the other in Java that provides the Daemon API. PlatformsActualy only the UNIX like platforms are supported. For win32 platfroms the cygwin emulation layer is used. See cygwin for more informations. In the futur APR will be used to provide more convinient platform support. support Initial Source of the PackageThe original Java classes come from the Jakarta Tomcat 4.0 project. The proposed package name for the Daemon component is
|