On Mon, Dec 31, 2007 at 01:20:58PM -0000, Daniel Pocock wrote: > JBoss and Tomcat detect new deployments automatically. > > In JBoss, you can specify a list of directories where deployments are to > be found - $JBOSS_HOME/server/default/jboss-service.xml (search for > URLDeploymentScanner)
Thanks for this summary. I will comment inline. > >> Maybe we should go one step further: a deployment directory for packaged > >> EAR files, and a deployment directory for locally created EAR files > >> (/usr/local/share/java/deploy). > > > > Thats a good idea. Thats then a directory that can be created on > > installation of a certain package like java-common as it may not be > > included in some package directly. > > We would potentially have three directories: > > /usr/lib/java/deploy - for packaged EAR and WAR files > /usr/local/lib/java/deploy - for locally built EAR and WAR files > /etc/java/datasource - for locally maintained datasource XML files Can datasources in /etc/java/datasource be hot deployed. I know about wars and ears. But I dont know about datasource xml files. Can you give an example. > Two virtual packages: > > j2ee-war-container - for Tomcat and other non-EJB containers > j2ee-ejb-container - for full EJB containers (EJB2.x, EJB3.x, etc) > > When a container is packaged (e.g. Tomcat, JBoss) > - it's configuration files must be modified to search the directories. > - hot deployment should be disabled by default (see below) > > Detection of new packages (J2EE hot deployment): > > - This page has various comments on the issue: > http://www.theserverside.com/news/thread.tss?thread_id=26044 > > - Given the slow startup time of application servers, and the potential > disruption to live applications, I don't think we should restart them > automatically when a .deb containing a new EAR is installed > > - Each package probably needs to display a warning to say `Now that you've > installed this EAR file, you must restart your container. Some containers > detect new deployments automatically and don't need to be restarted.' > Similar comments should be in the README.Debian file. > > - One potential problem: hot deployment will detect the EAR file as soon > as it is unpacked - before the Debian scripts are run. This is not so bad > however - if the datasource hasn't been created yet, a good container will > suspend the hot deployment of the EAR until all dependencies are > satisfied. > > J2EE doesn't mandate hot deployment, but many containers offer it. People > often have it enabled in development servers and not always in production > servers. Perhaps we should leave it up to people to enable it manually if > they understand the consequences for package installation. Perhaps it would be a good idea to create a tool called udate-java-containers that checks what needs to be done (and does it) or can do nothing if not needed/wanted. Another problem is probably hot-undeployment. Can we handle deinstallation of Debian packages with wars/ears/datasource descriptors automatically? Here can the update-java-containers helper probably help too. What do you think? Cheers, Michael -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]