[
https://issues.apache.org/jira/browse/GERONIMO-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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: https://issues.apache.org/jira/browse/GERONIMO-3544
> 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: offline-deployer-bug.zip
>
>
> 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(CommandDistribute.java:138)
> at
> org.apache.geronimo.deployment.cli.CommandDistribute.execute(CommandDistribute.java:114)
> at
> org.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:161)
> at
> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
> at
> org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
> at
> org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:31)
> 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(Deployer.java:256)
> at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:126)
> at
> org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
> at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
> at
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
> at
> org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
> at
> org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61)
> at java.lang.Thread.run(Thread.java:595)
> 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"/>" configuration.
> 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 jms-dest.xml
> 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.