Hi,
I played with web apps and G2.2 2009.11.28-05:33:51.600-0800
geronimo-tomcat6-javaee5-2.2
I have deployed an exploded webapp (see below) with
./deploy.sh -u system -p manager --offline deploy /projekte/test
I found that restarting the web app does not reflect changes in
web.xml, not
even in a .jsp
This is surprising, as I'd expect, that reloading the page would
get changes
in a jsp and restarting the app would get changes in web.xml (I
believe this
is Tomcat's behaviour)
I found that the only way to get the changes was to undeploy and
deploy the
application again.
deploy.sh redeploy got me the exception below.
I think this behaviour is not quite perfect, I'd very much prefer
Tomcat's
behaviour.
Thanks,
Juergen
--------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>test</display-name>
<context-param>
<param-name>hello</param-name>
<param-value>world</param-value>
</context-param>
</web-app>
--------------------
<html><head><title>hello</title> </head>
<body>
hello is: = <%= application.getInitParameter("hello") %>
</body>
</html>
--------------------
webe...@linda:/projekte/geronimo-tomcat6-javaee5-2.2/bin$ ./
deploy.sh -u
system -p manager --offline redeploy /projekte/test
Using GERONIMO_HOME: /projekte/geronimo-tomcat6-javaee5-2.2
Using GERONIMO_TMPDIR: var/temp
Using JRE_HOME: /projekte/jdk1.6.0_17/jre
No ModuleID or TargetModuleID provided. Attempting to guess based
on the content of the archive.
Unable to locate Geronimo deployment plan in archive. Calculating
default ModuleID from archive name.
Attempting to use ModuleID 'default/test//'
2009-12-08 21:44:46,516 ERROR [GBeanInstanceState] Error while
starting;
GBean is now in the FAILED state:
abstractName="default/test/1260304611193/car?
configurationName=default/test/1260304611193/car"
org.apache.geronimo.kernel.config.InvalidConfigException: Class not
loadable
in classloader:
[org.apache.geronimo.kernel.config.MultiParentClassLoader
id=default/test/1260304611193/car]
at
org
.apache
.geronimo
.kernel
.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:
133)
at
org
.apache
.geronimo
.kernel
.config.SerializedGBeanState.getGBeans(SerializedGBeanState.java:64)
at
org
.apache
.geronimo
.kernel.config.ConfigurationData.getGBeans(ConfigurationData.java:
177)
at
org
.apache
.geronimo.kernel.config.Configuration.<init>(Configuration.java:295)
at
sun.reflect.GeneratedConstructorAccessor20.newInstance(Unknown
Source)
at
sun
.reflect
.DelegatingConstructorAccessorImpl
.newInstance(DelegatingConstructorAccessorImpl.java:27)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.xbean.recipe.ReflectionUtil
$ConstructorFactory.create(ReflectionUtil.java:952)
at
org
.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:
276)
at
org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at
org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
at
org
.apache
.geronimo
.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:911)
at
org
.apache
.geronimo
.gbean
.runtime
.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269)
at
org
.apache
.geronimo
.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103)
at
org
.apache
.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:525)
at
org
.apache
.geronimo.kernel.basic.BasicKernel.startGBean(BasicKernel.java:359)
at
org
.apache
.geronimo
.kernel
.config
.KernelConfigurationManager.load(KernelConfigurationManager.java:163)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:1070)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:780)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:747)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org
.apache
.geronimo
.gbean
.runtime
.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
at
org
.apache
.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:
130)
at
org
.apache
.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816)
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.gbean.GBeanLifecycle$$EnhancerByCGLIB$
$a2c78da6.reloadConfiguration(<generated>)
at
org
.apache
.geronimo
.deployment
.plugin
.local
.RedeployCommand.redeployUpdatedConfiguration(RedeployCommand.java:
139)
at
org
.apache
.geronimo
.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:
106)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: Unable to find class
used in
GBeanData
default/test/1260304611193/car?
J2EEApplication=null,j2eeType=WebModule,name=default/test/
1260304611193/car
at
org.apache.geronimo.gbean.GBeanData
$V0Externalizable.readExternal(GBeanData.java:363)
at
org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:282)
at
org
.apache
.geronimo
.kernel
.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:
124)
... 33 more
Caused by: java.lang.ClassNotFoundException: Unable to find class
used in
GBeanData
default/test/1260304611193/car?
J2EEApplication=null,j2eeType=WebModule,name=default/test/
1260304611193/car,
attribute: holder
at
org.apache.geronimo.gbean.GBeanData
$V0Externalizable.readExternal(GBeanData.java:332)
... 35 more
Caused by: java.lang.ClassNotFoundException: Could not load class
org.apache.geronimo.j2ee.annotation.Holder from classloader:
default/test/1260304611193/car, destroyed state: false
at
org.apache.geronimo.kernel.ClassLoading.loadClass(ClassLoading.java:
213)
at
org
.apache
.geronimo
.kernel.ObjectInputStreamExt.resolveClass(ObjectInputStreamExt.java:
38)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:
1575)
at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:
1732)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org.apache.geronimo.gbean.GBeanData
$V0Externalizable.readExternal(GBeanData.java:330)
... 35 more
Deployer operation failed: reload of default/test/1260305085420/car
failed
org.apache.geronimo.kernel.config.LifecycleException: reload of
default/test/1260305085420/car failed
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:1102)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:780)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:747)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org
.apache
.geronimo
.gbean
.runtime
.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
at
org
.apache
.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:
130)
at
org
.apache
.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816)
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.gbean.GBeanLifecycle$$EnhancerByCGLIB$
$a2c78da6.reloadConfiguration(<generated>)
at
org
.apache
.geronimo
.deployment
.plugin
.local
.RedeployCommand.redeployUpdatedConfiguration(RedeployCommand.java:
139)
at
org
.apache
.geronimo
.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:
106)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:1040)
... 16 more
Redeployed default/test/1260305085420/car
2009-12-08 21:44:46,536 ERROR [DeployTool] Error:
org.apache.geronimo.common.DeploymentException: Operation failed:
reload of
default/test/1260305085420/car failed
org.apache.geronimo.kernel.config.LifecycleException: reload of
default/test/1260305085420/car failed
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:1102)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:780)
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:747)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org
.apache
.geronimo
.gbean
.runtime
.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
at
org
.apache
.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:
130)
at
org
.apache
.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816)
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.gbean.GBeanLifecycle$$EnhancerByCGLIB$
$a2c78da6.reloadConfiguration(<generated>)
at
org
.apache
.geronimo
.deployment
.plugin
.local
.RedeployCommand.redeployUpdatedConfiguration(RedeployCommand.java:
139)
at
org
.apache
.geronimo
.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:
106)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at
org
.apache
.geronimo
.kernel
.config
.SimpleConfigurationManager
.reloadConfiguration(SimpleConfigurationManager.java:1040)
... 16 more
at
org
.apache
.geronimo
.deployment.cli.CommandRedeploy.execute(CommandRedeploy.java:167)
at
org
.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:
168)
at
org
.apache
.geronimo
.kernel
.util
.MainConfigurationBootstrapper
.main(MainConfigurationBootstrapper.java:45)
at
org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65)
at
org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:
31)
webe...@linda:/projekte/geronimo-tomcat6-javaee5-2.2/bin$