views:

245

answers:

5

We have had a web application product for several years, and used Tomcat to deploy it under Windows as it registers itself as a Windows service so it starts and stops automatically.

We may now happen to need more JEE facilitites than is provided by Tomcat (we are very tempted by the JEE 6 things in the container) so the question is which Open Source JEE containers works well as Windows services. Since Glassfish is the only JEE 6 implementation right now, it would be nice if it works well, but I'd like to hear experiences and not just what I can read from brochures. If not, what else do people use?


EDIT: This goes for web containers too, and not just JEE containers. We will probably keep the necessary stack included until we find the right container and it gets JEE6 support.


EDIT: I want this to work as distributed. I'm not interested in manually hacking wrappers etc., but want the installation process to handle the creation and removal of the service.

+2  A: 

I use Caucho's Resin under windows, it comes with its own service installer which works quite well for me.

rsp
+2  A: 

We use JBoss and it runs perfect as a service, no problems so far. We even have loaded the servers with ssh acces so we can remotely restart the services if we want.

Marco
+8  A: 

We use Tomcat as a service. We have also used JBoss as a service.

It is possible to run GlassFish as a service.

It is also worth noting that most of the commercial J2EE containers can also run as a service. In particular, I know that all of the following can be run as a service, since we have set them up in that way:

In fact I think you would be hard pressed to find a J2EE container that could not be run as a service, since you could always use the Java service wrapper to wrap any java program as a service.

Since it was mentioned in another answer that you might also be interested in web servers running as services, it is probably worth pointing out that the big two on Windows, IIS and Apache, can both be run as services.

Edit: Since you edited to ask specifically about JEE containers that contain installers that install the windows service:

There are probably others, but these are the only ones that I have used.

Paul Wagland
+1 for service wrapper.
Seth
+1 for service wrapper from me too
Nat
+3  A: 

There is Platform Services Support in GlassFish v3 which can interact with Solaris/OpenSolaris SMF and Windows Services. To my knowledge, it just works.

Pascal Thivent
Appears that it requires the .NET framework to be installed for the "asadmin create-service" command to work.
Thorbjørn Ravn Andersen
@Thorbjørn Wow, that sucks. I wasn't aware of that, thanks for the feedback.
Pascal Thivent
I believe that there is a native .EXE deep in the bowels of Glassfish written in .NET, which does the heavy lifting. Wonder what they thought of :-S
Thorbjørn Ravn Andersen
+2  A: 

I've used Glassfish (Version 2 though) as a Windows service. While it does take some work to get things installed, once set up, it worked pretty well. We used it in a production environment, and our set up consisted of a two node cluster (so we had to set up a domain, and two nodes (on two different machines)).

If I recall correctly, my biggest challenge was trying to use sc, and figuring out its funky escape sequences.

Another thing to look at is Hudson. I've always been impressed with how it installs itself as a Windows service. You may want to have a look at how they do it. They use Winstone as their embded servlet engine though, which as far as I know, is not EE 6 compliant.

Jack Leow