geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vamsavardhana Reddy (JIRA)" <>
Subject [jira] Updated: (GERONIMO-3544) Offline deployer busted when adding sharedlib reference into offline-deployer-config.xml
Date Tue, 23 Oct 2007 10:15:51 GMT


Vamsavardhana Reddy updated GERONIMO-3544:

    Fix Version/s: 2.1
         Assignee: Vamsavardhana Reddy

Deployment is succeeding, but, the code that displays the result bombs. Also, if sharedlib
config is added to offline-deployer-config.xml, it will start rmi-naming and this will bomb
offline deployment in case of multiple server instances (see GERONIMO-3481).

Here is why the problem is occurring. When sharedlib is started for offline deployment, it
is in turn starting j2ee-system which has a config-store.  Now there are two config-stores,
one in j2ee-system and another in online-deployer. So, the deployer is trying to deploy it
to both the stores and since they refer to the same physical repository, the deployment to
the second store is failing with "Module already exists" error.

Why is it working in G 2.0.1?
In 2.0.1, j2ee-system was always getting started and the config-store in online-deployer was
always getting stopped thus leaving only one config-store for deployment.  Once GERONIMO-3481
made j2ee-system to not start, we had to prevent the config-store in online-deployer from
getting stopped so that the deployer-has atleast one config-store to work with.

Suggested solution:
1.  Make sharedlib depend on j2ee-system instead of rmi-naming.  All it needs is the "ServerInfo"
gbean which is in j2ee-system config.
2.  Make j2ee-system always start for offline deployment irrespective of sharedlib dependency.
3.  Let offline deployer always stop the config-store in online-deployer config (as it works
in G 2.0.1).

Will post a patch soon.

> Offline deployer busted when adding sharedlib reference into offline-deployer-config.xml
> ----------------------------------------------------------------------------------------
>                 Key: GERONIMO-3544
>                 URL:
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: deployment
>    Affects Versions: 2.0.2
>         Environment: Windows XP SP2
>            Reporter: Aman Nanner
>            Assignee: Vamsavardhana Reddy
>             Fix For: 2.0.x, 2.1
>         Attachments:
> For EAR applications that have references shared libraries and depend upon the sharedlib
config, the offline-deployer-config.xml needs to be modified to add the following line:
> <module name="org.apache.geronimo.configs/sharedlib/2.0.2/car"/>
> This allows for the EAR application to be deployed offline.  If this line were not to
be added, the offline deployment would fail.
> This was working in Geronimo 2.0.1.  As of Geronimo 2.0.2, it seems that adding this
line causes the offline deployment process to hang with the following error:
> ----
> Exception in thread "main" java.lang.NullPointerException
>         at org.apache.geronimo.deployment.cli.CommandDistribute.executeOnline(
>         at org.apache.geronimo.deployment.cli.CommandDistribute.execute(
>         at org.apache.geronimo.deployment.cli.DeployTool.execute(
>         at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(
>         at org.apache.geronimo.cli.AbstractCLI.executeMain(
>         at org.apache.geronimo.cli.deployer.DeployerCLI.main(
> Deployer operation failed: Module Apache/TestingJMS/1/rar already exists in the server.
 Try to undeploy it first or use
>  the redeploy command.
> org.apache.geronimo.common.DeploymentException: Module Apache/TestingJMS/1/rar already
exists in the server.  Try to und
> eploy it first or use the redeploy command.
>         at org.apache.geronimo.deployment.Deployer.deploy(
>         at org.apache.geronimo.deployment.Deployer.deploy(
>         at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
>         at net.sf.cglib.reflect.FastMethod.invoke(
>         at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
>         at org.apache.geronimo.kernel.basic.BasicKernel.invoke(
>         at org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(
>         at
>         at
>     Completed with id Apache/TestingJMS/1/rar
> ----
> Checking the repository and the config.xml shows that the deployment actually succeeds,
but then the process hangs with the "already deployed" error above.  This error is strange
because the specified resource was NOT already deployed.
> I've attached a very simple test case that can reproduce the error.
> 1) Unzip the contents into your top-level Geronimo folder
> 2) Modify the offline-deployer-config.xml to add the "<module name="org.apache.geronimo.configs/sharedlib/2.0.2/car"/>"
> 3) Execute offline deployment with the following command:
> java -jar bin\deployer.jar --user system --password manager --offline deploy geronimo-activemq-ra-2.0.2.rar
> This should reproduce the error.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message