Anita,

Yes, I did get past it and it doesn't appear to be related to your earlier change. I'm not sure how I (or you) got into this problem ... but here's how I got out of it. I did a complete new build (starting with -Dstage=bootstrap) with a clean repo. I suspect there might still be some issues building multiple releases that caused it (I was building both trunk and 2.0-M1) but I'm not really certain.

Hope that helps,
Joe


anita kulshreshtha wrote:
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


Reply via email to