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]

Reply via email to