I also tested it with j2sdk1.4.2_12 and have not seen this problem while using the deployment plan.

Kevan mentioned there are several bug fixes applied to 1.1.1 which, btw, it is in the process to be released. I would suggest, when possible, to try this new release.

Cheers!
Hernan

Fran Varin wrote:
Ok, I produced an exception using a fresh install of v1.1. Here is how I did
it. BTW, Hernan, you mentioned that you were using a new JDK version than I
am. Is it possible that the difference in the JDK release could be a player
in this problem?

1) Delete Geronimo 1.1 install directory
2) Unzip Geronimo 1.1 into folder structure
3) Start and stop Geronimo to make sure all is well.
4) Place test application in "deploy" directory
5) restart server ... note hot deploy messages on console
6) Make change to JSP ... note hot deploy throws fhe following:
Booting Geronimo Kernel (in Java 1.4.1_02)...
Module  1/20 geronimo/rmi-naming/1.1/car              started in   .281s
Module  2/20 geronimo/j2ee-server/1.1/car             started in   .563s
Module  3/20 geronimo/j2ee-security/1.1/car           started in   .547s
Module  4/20 geronimo/axis/1.1/car                    started in   .078s
Module  5/20 geronimo/openejb/1.1/car                 started in   .297s
Module  6/20 geronimo/system-database/1.1/car         started in  1.782s
Module  7/20 geronimo/activemq-broker/1.1/car         started in  1.203s
Module  8/20 geronimo/activemq/1.1/car                started in   .391s
Module  9/20 geronimo/tomcat/1.1/car                  started in  1.969s
Module 10/20 geronimo/geronimo-gbean-deployer/1.1/car started in   .297s
Module 11/20 geronimo/j2ee-deployer/1.1/car           started in   .250s
Module 12/20 geronimo/openejb-deployer/1.1/car        started in   .281s
Module 13/20 geronimo/client-deployer/1.1/car         started in   .062s
Module 14/20 geronimo/axis-deployer/1.1/car           started in   .078s
Module 15/20 geronimo/sharedlib/1.1/car               started in   .015s
Module 16/20 geronimo/tomcat-deployer/1.1/car         started in   .078s
Module 17/20 geronimo/welcome-tomcat/1.1/car          started in   .265s
Module 18/20 geronimo/webconsole-tomcat/1.1/car       started in  4.266s
Module 19/20 geronimo/remote-deploy-tomcat/1.1/car    started in   .235s
Module 20/20 geronimo/hot-deployer/1.1/car            started in   .344s
Startup completed in 16 seconds
  Listening on Ports:
    1099 0.0.0.0 RMI Naming
    1527 0.0.0.0 Derby Connector
    4201 0.0.0.0 ActiveIO Connector EJB
    4242 0.0.0.0 Remote Login Listener
    8009 0.0.0.0 Tomcat Connector AJP
    8080 0.0.0.0 Tomcat Connector HTTP
    8443 0.0.0.0 Tomcat Connector HTTPS
    9999 0.0.0.0 JMX Remoting Connector
   61616 0.0.0.0 ActiveMQ Message Broker Connector

  Started Application Modules:
    EAR: geronimo/webconsole-tomcat/1.1/car
    RAR: geronimo/activemq/1.1/car
    RAR: geronimo/system-database/1.1/car
    WAR: geronimo/remote-deploy-tomcat/1.1/car
    WAR: geronimo/welcome-tomcat/1.1/car

  Web Applications:
    http://RI150WS311:8080/
    http://RI150WS311:8080/console
    http://RI150WS311:8080/console-standard
    http://RI150WS311:8080/remote-deploy

Geronimo Application Server started
10:29:19,950 INFO  [Hot Deployer] Deploying Test.war
    Deployed test.applications/TestApp/1.1/war @
    http://RI150WS311:8080/Test
10:29:35,059 INFO  [Hot Deployer] Redeploying Test.war
10:29:35,325 ERROR [Hot Deployer] Unable to undeploy
C:\TestEclipse\eclipse32\ge
ronimo-1.1\deploy\Test.war(test.applications/TestApp/1.1/war)Module
test.applica
tions/TestApp/1.1/war already exists in the server.  Try to undeploy it
first or
 use the redeploy command.
org.apache.geronimo.common.DeploymentException: Module
test.applications/TestApp
/1.1/war already exists in the server.  Try to undeploy it first or use the
rede
ploy command.
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:254)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:124)
        at
org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.i
nvoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod
Invoker.java:38)
        at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:852)
        at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:
239)
        at
org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doD
eploy(AbstractDeployCommand.java:106)
        at
org.apache.geronimo.deployment.plugin.local.RedeployCommand.redeployU
pdatedConfiguration(RedeployCommand.java:135)
        at
org.apache.geronimo.deployment.plugin.local.RedeployCommand.run(Redep
loyCommand.java:104)
        at java.lang.Thread.run(Thread.java:536)




Hernan Cunico wrote:
Hi Fran,
I repeated the tests in 1.1.1 RC3 and RC4 and plain 1.1 with similar results.

It worked for me when I was using the deployment plan, if I don't specify a plan the deployer dies after/during the third redeployment.

Do you still see that behavior in 1.1 while using the plan?

Cheers!
Hernan

Fran Varin wrote:
Hi Hernan, I stand corrected...I have tested the simple application with a
"geronimo-web.xml" and it works both using Eclipse (as described in my
post)
and externally. Please note, this time I tested with Geronimo v1.1.1
RC3...is it possible that the behavior I observed prior, while testing
with
v1.1, has been addressed?

Fran


Fran Varin wrote:
Hi Hernan, I did try creating the "gernonimo-web.xml" and received slightly
different
behavior. Since the verison is named the application is not placed in
the
"default" directory with a numeric folder name. Instead, it is placed in
a
folder that bears the name of the application (as you are well aware I'm
sure). However, I did notice similar behavior with regard to the error.
If
you like, I would be willing to document that and distribute it as well. LMK, Fran



Hernan Cunico wrote:
Hi Fran,
yup, this is definitively a bug. I tested it with a slightly different scenario and failed the same way.

Basically the re-deployment of a very simple web application that does not require any Geronimo specific deployment plan knocks the deployer down at the third redeployment.

This affects both the command line tool and the console.

This happens with exploded hot deployed apps, I have not tested it with a compressed .war but I'm sure there will be no difference. (although you can never be too sure ;-) )

As a workaround, I think it was mentioned before in this thread, but by just adding a geronimo-web.xml with this basic content will temporarily address this issue.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1";>
        <environment>
                <moduleId>
                        <groupId>default.test</groupId>
                        <artifactId>TestApp</artifactId>
                        <version>1.1</version>
                        <type>war</type>
                </moduleId>               
        </environment>
        <context-root>/test</context-root>
</web-app>

I say temporarily because it is not required a deployment plan for this kind of simple apps.

Could you pls open a JIRA with all the details on how to reproduce this error

Cheers!
Hernan

Fran Varin wrote:
OK, I was able to prove that this is 100% a Geronimo bug. Here is what
I
did: 1) Delete the following folder and all of its content: C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test

2) Remove the following definition from the config.xml
  <module name="default/Test/1157997433272/war"/>

3) Start Geronimo

4) Test the application

5) Make change to JSP and save to the following location: C:\TestEclipse\eclipse32\geronimo-1.1\deploy\Test.war

6) Repeat steps 4 & 5 until problem occurs...exactly as stated below,
will
always fail on the third attempt!!!


This test removes Eclipse and the assocaited MyEclipse plugins from
the
mix
and absolutely points to Geronimo as the issue.




Fran Varin wrote:
OK, the information below is a repeatable scenario that describes the
problem we are having.

Eclipse Version: Version: 3.2.0
Build id: M20060629-1905


MyEclipse Version: Version: 5.0.1
Build id: 20060810-5.0.1-GA


Geronimo 1.1

Problem: Hot deploy fails after thrid attempt causing application to be unusable.

Scenario: 1) Server initializes and creates a copy of the deployed
application
in
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default

- The folder structure that was created is: C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157720883871\Test-1157720883871.war
- Addionally, the config.xml was updated with the following line:
<module name="default/Test/1157720883871/war"/>
- The following messages were written to the console as the server
started
the application: Geronimo Application Server started
09:08:03,840 INFO  [Hot Deployer] Deploying Test.war
09:08:04,605 WARN  [TomcatModuleBuilder] Web application . does not
contain a WEB-INF/geronimo-web.xml deployment plan.  This may or may
not
be a problem, depending on whether you have things like resource
references that need to be resolved.  You can also give the deployer
a
separate deployment plan file on the command line.
    Deployed default/Test/1157720883871/war @
    http://RI150WS311:8080/Test

-Running the application produced the correct result.


2) Modified the only JSP in the project and saved. This causes the
application change to be hot deployed. -The following message was written to the console: 09:13:56,665 INFO [Hot Deployer] Redeploying Test.war
09:13:56,962 WARN  [TomcatModuleBuilder] Web application . does not
contain a WEB-INF/geronimo-web.xml deployment plan.  This may or may
not
be a problem, depending on whether you have things like resource
references that need to be resolved.  You can also give the deployer
a
separate deployment plan file on the command line.
09:13:57,619 INFO  [DirectoryMonitor] Hot deployer notified that an
artifact was removed: default/Test/1157720883871/war
    Redeployed default/Test/1157721236962/war

-The line in config.xml above was changed to the following: <module name="default/Test/1157721236962/war"/>

-The C:\TestEclipse\eclipse32\geronimo-1.1\repository\default folder
was
changed to the following
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157720883871
--- Empty

C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157721236962\Test-1157721236962.war
--- Now contains the deployed application with the changes made
above.

-Running the application produced the correct result. The changes to
the
JSP were rendered correctly.


3) Modified the only JSP a second time and saved. -The following message appeared on the console: 09:19:58,413 INFO [Hot Deployer] Redeploying Test.war
09:19:58,757 WARN  [TomcatModuleBuilder] Web application . does not
contain a WEB-INF/geronimo-web.xml deployment plan.  This may or may
not
be a problem, depending on whether you have things like resource
references that need to be resolved.  You can also give the deployer
a
separate deployment plan file on the command line.
09:19:59,429 INFO  [DirectoryMonitor] Hot deployer notified that an
artifact was removed: default/Test/1157721236962/war

-The line in config.xml was changed to: <module name="default/Test/1157721598741/war"/>

-The contents of
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default
were changed to:
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157720883871
--- Empty
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157721236962
--- Empty
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157721598741\Test-1157721598741.war
--- Contains the deployed application with the changes made above.
-Running the application produced the correct result. The changes to
the
JSP were rendered correctly.



4) Modified the only JSP a third time and saved. -No additional messages were written to the console.
-The Line in config.xml was not modified.

-No additional changes to
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default

-The deploy directory
C:\TestEclipse\eclipse32\geronimo-1.1\deploy\Test.war has the correct
JSP
change.
-Running the application does not display the change made to the JSP.
The
previous change is still deployed.
-Conslusion: Hot deploy was ignored on the Third change.



5) Stop server --- successful, no error messages



6) Start server

-The following is the console log from starting the server. Notice
the
exception thrown in relation to the hot deploy failure from the
previous
run.
Booting Geronimo Kernel (in Java 1.4.2_05)...
Module 1/21 geronimo/rmi-naming/1.1/car started in .500s Module 2/21 geronimo/j2ee-server/1.1/car started in 1.125s Module 3/21 geronimo/j2ee-security/1.1/car started in 1.000s Module 4/21 geronimo/axis/1.1/car started in .172s Module 5/21 geronimo/openejb/1.1/car started in .703s Module 6/21 geronimo/system-database/1.1/car started in 3.453s Module 7/21 geronimo/activemq-broker/1.1/car started in 2.032s Module 8/21 geronimo/activemq/1.1/car started in .953s Module 9/21 geronimo/tomcat/1.1/car started in 4.094s Module 10/21 geronimo/geronimo-gbean-deployer/1.1/car started in .516s Module 11/21 geronimo/j2ee-deployer/1.1/car started in .516s Module 12/21 geronimo/openejb-deployer/1.1/car started in .656s Module 13/21 geronimo/client-deployer/1.1/car started in .140s Module 14/21 geronimo/axis-deployer/1.1/car started in .203s Module 15/21 geronimo/sharedlib/1.1/car started in .031s Module 16/21 geronimo/tomcat-deployer/1.1/car started in .156s Module 17/21 geronimo/welcome-tomcat/1.1/car started in .609s Module 18/21 geronimo/webconsole-tomcat/1.1/car started in 7.625s Module 19/21 geronimo/remote-deploy-tomcat/1.1/car started in .485s Module 20/21 geronimo/hot-deployer/1.1/car started in .640s Module 21/21 default/Test/1157721598741/war started in .578s
Startup completed in 31 seconds
  Listening on Ports:
    1099 0.0.0.0 RMI Naming
    1527 0.0.0.0 Derby Connector
    4201 0.0.0.0 ActiveIO Connector EJB
    4242 0.0.0.0 Remote Login Listener
    8009 0.0.0.0 Tomcat Connector AJP
    8080 0.0.0.0 Tomcat Connector HTTP
    8443 0.0.0.0 Tomcat Connector HTTPS
    9999 0.0.0.0 JMX Remoting Connector
   61616 0.0.0.0 ActiveMQ Message Broker Connector

  Started Application Modules:
    EAR: geronimo/webconsole-tomcat/1.1/car
    RAR: geronimo/activemq/1.1/car
    RAR: geronimo/system-database/1.1/car
    WAR: default/Test/1157721598741/war
    WAR: geronimo/remote-deploy-tomcat/1.1/car
    WAR: geronimo/welcome-tomcat/1.1/car

  Web Applications:
    http://RI150WS311:8080/
    http://RI150WS311:8080/Test
    http://RI150WS311:8080/console
    http://RI150WS311:8080/console-standard
    http://RI150WS311:8080/remote-deploy

Geronimo Application Server started
09:29:59,175 ERROR [DirectoryMonitor] Unable to scan file
C:\TestEclipse\eclipse32\geronimo-1.1\deploy\Test.war during
initialization
java.lang.IllegalArgumentException: Invalid id: Test
        at
org.apache.geronimo.kernel.repository.Artifact.create(Artifact.java:49)
        at
org.apache.geronimo.deployment.hot.DirectoryHotDeployer.getDeploymentTime(DirectoryHotDeployer.java:215)
        at
org.apache.geronimo.deployment.hot.DirectoryMonitor.initialize(DirectoryMonitor.java:233)
        at
org.apache.geronimo.deployment.hot.DirectoryMonitor.run(DirectoryMonitor.java:206)
        at java.lang.Thread.run(Thread.java:534)
09:30:03,175 INFO  [Hot Deployer] Deploying Test.war
09:30:03,612 WARN  [TomcatModuleBuilder] Web application . does not
contain a WEB-INF/geronimo-web.xml deployment plan.  This may or may
not
be a problem, depending on whether you have things like resource
references that need to be resolved.  You can also give the deployer
a
separate deployment plan file on the command line.
09:30:04,737 ERROR [GBeanInstance] Problem in doFail of
default/Test/1157722203222/war?J2EEApplication=null,j2eeType=WebModule,name=default/Test/1157722203222/war
java.lang.RuntimeException: java.lang.NullPointerException
        at
org.apache.geronimo.tomcat.TomcatContainer.removeContext(TomcatContainer.java:327)
        at
org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$4716170d.removeContext(<generated>)
        at
org.apache.geronimo.tomcat.TomcatWebAppContext.doFail(TomcatWebAppContext.java:469)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1010)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:540)
        at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374)
        at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:512)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:493)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$2d60c486.startConfiguration(<generated>)
        at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
        at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.NullPointerException
        at java.io.File.<init>(File.java:180)
        at
org.apache.catalina.core.StandardContext.getWorkPath(StandardContext.java:1789)
        at
org.apache.catalina.startup.ContextConfig.destroy(ContextConfig.java:1269)
        at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:281)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at
org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4419)
        at
org.apache.geronimo.tomcat.TomcatContainer.removeContext(TomcatContainer.java:325)
        ... 31 more
09:30:04,737 ERROR [GBeanInstanceState] Error while starting; GBean
is
now
in the FAILED state:
abstractName="default/Test/1157722203222/war?J2EEApplication=null,j2eeType=WebModule,name=default/Test/1157722203222/war"
java.lang.IllegalArgumentException: addChild:  Child name '/Test' is
not
unique
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:749)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
        at
org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:313)
        at
org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$4716170d.addContext(<generated>)
        at
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:448)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:981)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:540)
        at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374)
        at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:512)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:493)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$2d60c486.startConfiguration(<generated>)
        at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
        at java.lang.Thread.run(Thread.java:534)
org.apache.geronimo.kernel.config.LifecycleException: start of
default/Test/1157722203222/war failed
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:529)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:493)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$2d60c486.startConfiguration(<generated>)
        at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
        at java.lang.Thread.run(Thread.java:534)
Caused by: org.apache.geronimo.kernel.config.InvalidConfigException:
Unknown start exception
        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:440)
        at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:512)
        ... 12 more
Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
Configuration default/Test/1157722203222/war failed to start due to
the
following reasons:
  The service
J2EEApplication=null,j2eeType=WebModule,name=default/Test/1157722203222/war
did not start because the doStart method threw an exception. java.lang.IllegalArgumentException: addChild: Child name '/Test' is
not
unique
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:749)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
        at
org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:313)
        at
org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$4716170d.addContext(<generated>)
        at
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:448)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:981)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
        at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:540)
        at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374)
        at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:512)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:493)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.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:122)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
        at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$2d60c486.startConfiguration(<generated>)
        at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
        at java.lang.Thread.run(Thread.java:534)


        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:403)
        ... 14 more
09:30:04,847 WARN  [Hot Deployer] Unable to start some modules for
C:\TestEclipse\eclipse32\geronimo-1.1\deploy\Test.war




-The following line was added to the config.xml: <module load="false" name="default/Test/1157722203222/war"/>


-The contents of
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default
were changed to: C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157720883871
--- Empty
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157721236962
--- Empty
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157721598741\Test-1157721598741.war
--- Contains the deployed application with the changes made in step 3
above

C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test\1157722203222\Test-1157722203222.war
--- Contains the deployed application with the changes attempted in
step 4
above.

-The application runs but, displays the changes successfully deployed
in
step 3.





Observations: 1) This scenario has been executed several times and follows the
exact
same sequence each time. So, the number of successful hot deployments
follows the exact same pattern. 2) The only work around is to remove all associated lines from
config.xml
and to delete the following folder and all of its content:
C:\TestEclipse\eclipse32\geronimo-1.1\repository\default\Test
3)      When observation #2 is performed and the server restarted, the
exception is not thrown, the application is deployed properly with
the
new
changes intact and runs fine.









Reply via email to