Just my 2 cents on servletizing this app... take it or leave it
Keep the PMS service
/daemon configuration via beans, and create an admin listener on a well-known port. Then a separate admin server can be created, running inside or
outside of a servlet container, and connect to the PMS service
via the well-known port to send the admin commands. The protocol can be as simple or as complex as you like, but my preference would be SOAP WS.
Then your choice of servlet container becomes moot: release a war for those of us that use Tomcat on their server, and package a jetty distro if you want the rest of the known universe to be able to run it. In either case, the PMS service
will still be a daemon/service
that does the heavy lifting, while the (new) admin service
can be a separate entity not heavily coupled to the main codebase.
It would also allow lightweight alternatives to this heavyweight servlet admin service
, using a scripting language or whatever, as long as the admin port API was well defined.
Encapsulated, loosely-coupled, and customisable. Like all the best Java