Joe,
Did you get past this? I am also unable to start
geronimo-tomcat6-jee5 built with rev 487196. However I can start
geronimo-tomcat6-minimal. The rev 485321 was committed on Dec 10th. The
changes discussed recently will not be ready for 2.0-M1. I do not
think(?) this is the culprit, But I will be happy to revert this.
Thanks
Anita
--- Joe Bohn <[EMAIL PROTECTED]> wrote:
Anita,
Are these changes completed? I'm hitting an error with attempting to
start the servers from a fresh trunk build and they might be related
(but then again I'm not feeling well and I'm pretty tired ... so I
could have something messed up locally). Here's the failure:
Booting Geronimo Kernel (in Java 1.5.0_06)...
23:12:51,538 WARN [ConfigurationUtil] Could not load gbean
org.apache.geronimo.configs/j2ee-system/2.0-SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/j
2ee-system/2.0-SNAPSHOT/car,j2eeType=AttributeStore,name=AttributeManager
org.apache.geronimo.gbean.InvalidConfigurationException: Target does
not have specified method (declared in a GBeanInfo operation):
name=hasGBeanAttributes meth
odName=hasGBeanAttributes returnType=boolean
targetClass=org.apache.geronimo.system.configuration.LocalAttributeManager
at
org.apache.geronimo.gbean.runtime.GBeanOperation.<init>(GBeanOperation.java:98)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.<init>(GBeanInstance.java:298)
at
org.apache.geronimo.kernel.basic.BasicKernel.loadGBean(BasicKernel.java:354)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:363)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:155)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:126)
at
org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:242)
at
org.apache.geronimo.system.main.Daemon.<init>(Daemon.java:74)
at
org.apache.geronimo.system.main.Daemon.main(Daemon.java:366)
[ ] 0% 1s Startup failed
org.apache.geronimo.kernel.config.InvalidConfigException: Unknown
start exception
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:444)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:155)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:126)
at
org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:242)
at
org.apache.geronimo.system.main.Daemon.<init>(Daemon.java:74)
at
org.apache.geronimo.system.main.Daemon.main(Daemon.java:366)
Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
Target does not have specified method (declared in a GBeanInfo
operation): name=hasGBeanAttr
ibutes methodName=hasGBeanAttributes returnType=boolean
targetClass=org.apache.geronimo.system.configuration.LocalAttributeManager
at
org.apache.geronimo.gbean.runtime.GBeanOperation.<init>(GBeanOperation.java:98)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.<init>(GBeanInstance.java:298)
at
org.apache.geronimo.kernel.basic.BasicKernel.loadGBean(BasicKernel.java:354)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:363)
... 5 more
org.apache.geronimo.kernel.config.InvalidConfigException: Unknown
start exception
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:444)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:155)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:126)
at
org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:242)
at
org.apache.geronimo.system.main.Daemon.<init>(Daemon.java:74)
at
org.apache.geronimo.system.main.Daemon.main(Daemon.java:366)
Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
Target does not have specified method (declared in a GBeanInfo
operation): name=hasGBeanAttr
ibutes methodName=hasGBeanAttributes returnType=boolean
targetClass=org.apache.geronimo.system.configuration.LocalAttributeManager
at
org.apache.geronimo.gbean.runtime.GBeanOperation.<init>(GBeanOperation.java:98)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.<init>(GBeanInstance.java:298)
at
org.apache.geronimo.kernel.basic.BasicKernel.loadGBean(BasicKernel.java:354)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:363)
... 5 more
Server shutdown begun
Server shutdown completed
Thanks,
Joe
anita kulshreshtha wrote:
Thanks Dain!
--- Dain Sundstrom <[EMAIL PROTECTED]> wrote:
On Dec 12, 2006, at 5:32 AM, anita kulshreshtha wrote:
Thanks Gianny, David J and Dain for providing feedback. I could
have
certainly used it before commiting rev 485321. IIUC, here is what
needs
to be done:
1. .....Make the necessary code changes to
GBeanInfoBuilder while keeping the signatures of addOperation
methods same.
API compatibility - yes
Serialization compatibility - depends on GOparationInfo
2. GoperationInfo must contain a field named targetClass
(declaringClass?). There are 2 options:
a.. Just add the field and maintain backward compatibility
API compatibility - yes
Serialization compatibility - yes
b.. Clean the code, i.e. remove unused field methodName and
break
the compatibility.
API compatibility - no
Serialization compatibility - no
Even in Geronimo GOperationInfo does not seem to be used
outside of
the kernel, hence it will be safe to remove the constructors
without
the targetClass. I think we should not allow incomplete
GOpeartionInfo
objects. But then I do not know what is the protocol for fixing the
API...
Which backward compatibility API, serialization or both?
I prefer we don't break backwards compatibility in the GBean apis
since they are used everywhere.
I am leaning towards b.
3. The fact that in some cases GBeanInfoBuilder.addInterfaces()
Line
295 ends up with two methods with same name and signatures but
different return type, it is not by design. Most of the time it is
due
to a badly overridden getter/setter/operation, and it is not the
responsibility of GBeanInfoBuilder to flag that as an error.
In Java5 a method is allowed to override/implement a method with a
return type that is more specific. For example:
public interface Intf {
Object getSomething();
}
public class Clazz implements Intf {
public String getSomething() {
return "something"
}
}
-dain
Ah.. java 5... One more question :)
Why do we allow bad operations in GBeanInfo ? For example it is
possible to add a non existent operation to GBeanInfo.
Thanks
=== message truncated ===
____________________________________________________________________________________
Cheap talk?
Check out Yahoo! Messenger's low PC-to-Phone call rates.
http://voice.yahoo.com