geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: How to detect a file changed in an exploded web app.
Date Tue, 12 Dec 2006 23:10:28 GMT

On Dec 12, 2006, at 2:55 PM, Geronimo User wrote:

> On 12/12/06, Hernan Cunico <hcunico@gmail.com> wrote:
> Have you tried to deploy with the --inPlace option. It would be  
> some thing like this
>
> java -jar deployer.jar --user system --password manager deploy -- 
> inPlace <app_home>
>
> and point <app_home> to your exploded app dir.
>
> HTH
>
>  Hernan:
>
> Thanks, deploying the application with the --inPlace option did  
> solve my problem.
>
> I can now fetch the XML files using http://localhost:8080/context- 
> root/xml/MyFile.xml
> and because the application is not deployed in the "deploy" directory,
> Geronimo does not constantly redeploy it.
>
> However, my co-worker has given me another challenge.
>
> We need to deploy this exploded .war in an installer application,  
> and we cannot run
> Geronimo's deploy.bat or java -jar deployer.jar, because at the  
> time the customer
> runs our installer, Geronimo is not running. (Our installer also  
> installs Geronimo.)
>
> Is there an option we can put in some Geronimo configuration file,  
> in the app or out of it,
> so the installer can:
> 1. Explode this .war file somewhere on disk.
> 2. Have Geronimo know that this application has been "deployed in  
> place."

I can think of 2 things to try:

1. try deploying "offline"

> java -jar deployer.jar --user system --password manager --offline  
> deploy --inPlace <app_home>

I haven't tried this, and it may be broken in some versions of  
geronimo: I think it works in the upcoming 1.2.  This should have the  
same effect as deploying with geronimo running.

2. don't deploy inplace, but rather teach your xml update tool to  
copy the changed files into where geronimo deploys your app.  If you  
do this, you can predeploy the app into geronimo, package that server  
(including your app) and have your installer simply unpack the server  
with your app already there.  You can customize the geronimo copy to  
for instance only include the parts you use.

If your geronimo plan specifies the module id for your app as
<groupId>myco</groupId>
<artifactId>bigapp</artifactId>
<version>1.2.3</version>
<type>car</type>

then your app will be unpacked into <geronimo-home>/repository/myco/ 
bigapp/1.2.3/bigapp-1.2.3.car/

The quick easy way to do this is to unpack geronimo, deploy your app,  
and then zip up geronimo again.  If you want to do more  
customizations it's easier to use maven and make a custom assembly  
which is how we build the geronimo servers we distribute.  Let us  
know if you're interested and we can give you more pointers.

thanks
david jencks


>
> Thanks!
>


Mime
View raw message