JavaSvc Released – December 3, 2011

JavaSvc is a native C++ Windows service for hosting a Java class/application in a Windows service context.  JavaSvc uses JNI to host a Java VM and to provide the Windows service context for the Java application.   JavaSvc is completely configurable via a .INI file to provide drag/drop installation.   Sample .INI configurations for Minecraft and CraftBukkit are provided.

Changes for

Added additional support for separate class for a shutdown plugin, required for
Bukkit plugins with Minecraft.

Added support for context class loaders — and will enumerate threads looking for
the specified class if the global FindClass() fails. MD5: 22fbae2a2f0339e33095e7c45c02f972

JavaSvc Released

JavaSvc is a native Java VM host which will register and run a Java class as a Windows service.

The primary motivation in developing this host was to provide an environment to host a Java based service in a restricted context (Network Service) rather than a common practice of using the active user’s interactive account.  Using a system account provides a mitigation to the security concern of maintaining least-privilege for these Java based components.

After searching for solutions to simplify the configuration process for running a Java based service on Windows, I opted to develop my own solution as I didn’t find anything that was trivial to configure and copy/drag/drop to install. MD5: ddc13da6ce3e2e23fdde269677a071a0

Tags: Minecraft, Bukkit, Server, Java, Windows, Service