Apache’s Procrun is a “real windows service” similar to the one from Tanuki Software. In regards to batch files, they are not used by Procrun in any way. The batch file I created simply makes installing and removing the service super easy. I’ve used the Tanuki Java Wrapper Service before and it also works very nicely. However, since Cassandra is an Apache project, it seemed most appropriate to go ahead and use a Windows service runner from Apache and to avoid any possible licensing or bundling issues, especially since I’d like to see it included as a contrib. And, Procrun has been used for years by various Apache project with Apache Tomcat probably being the most famous. Regardless, the Tanuki runner works well.
PS: I believe the community version of the Java Serviced Wrapper from Tanuki is GPL v2, but I could be wrong. Their licensing is a mix of
From: Richard Grossman
Sent: Sunday, July 04, 2010 3:37 AM
Subject: Re: Running Cassandra as a Windows Service
Why not using Java Wrapper Service?
You can configure any java process as real windows services instead of batch files
On Thu, Jun 10, 2010 at 8:34 PM,
For various reasons I am required to deploy systems on Windows. As such, I went looking for information on running Cassandra as a Windows service. I’ve read some of the user threads regarding running Cassandra as a Windows service, such as this one:
I also found the following JIRA issue:
As it didn’t look like anyone has contributed a formal solution and having some experience using Apache’s Procrun (http://commons.apache.org/daemon/procrun.html), I decided to go ahead and write a batch script and a simple “WindowsService” class to accomplish the task. The WindowsService class only makes calls to public methods in CassandraDeamon and is fairly simple. In combination with the batch script, it is very easy to install and remove the service. At this point, I’ve installed Cassandra as a Windows service on XP (32 bit), Windows 7 (64 bit) and Windows Server 2008 R1/R2 (64 bit). It should work fine on other version of Windows (2K, 2K3).
1. Has anyone else already done this work?
2. If not, I wouldn’t mind sharing the code/script or contributing it back to the project. Is there any interest in this from the Cassandra dev team or the user community?
Ideally the WindowsService could be included in the distributed source/binary distributions (perhaps in a contrib area) as well as the batch script and associated procrun executables. Or, perhaps it could be posted to a Cassandra community site (is there one?).