Re: File locations: EAR, WAR, XML datasource
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
Reply to:
- References:
- File locations: EAR, WAR, XML datasource
- From: Daniel Pocock <daniel@readytechnology.co.uk>
- Re: File locations: EAR, WAR, XML datasource
- From: Michael Koch <konqueror@gmx.de>
- Re: File locations: EAR, WAR, XML datasource
- From: Daniel Pocock <daniel@readytechnology.co.uk>
- Re: File locations: EAR, WAR, XML datasource
- From: Michael Koch <konqueror@gmx.de>
- Re: File locations: EAR, WAR, XML datasource
- From: "Daniel Pocock" <daniel@readytechnology.co.uk>