On Feb 3, 2004, at 9:48 PM, Greg Wilkins wrote:
> I've been chasing some "strange" behaviour with the GBeans
> configuration.
>
> I'm not sure if these are bugs or just poor exception reporting. But
> I'll
> dump here just in case...
>
> The ConfigurationParent object passed into the constuctor of the
> JettyWebApplicationContext is not in a valid state to do anything
> with.
>
> If you try calling any methods on it, including toString, it gives you
> a
> java.lang.IllegalStateException: Proxy is stopped
> I'm not sure what state this is meant to be in???
Proxies are not valid until doStart. This is due to the fact that the
pattern you have assigned for the endpoint may not match any other
running GBeans (or their may be more then one matching GBean). When
you enter the running state we lock down the single reference.
> More annoyingly, if you do not catch this exception then the kernel
> start
> mechanism does not handle it well - it continues on an NPEs later:
>
> java.lang.NullPointerException
> at
> org.apache.geronimo.gbean.jmx.GBeanMBeanReference.handleNotification(GB
> eanMBeanReference.java:321)
> at
> mx4j.server.interceptor.NotificationListenerMBeanServerInterceptor$List
> enerWrapper.handleNotification(NotificationListenerMBeanServerIntercept
> or.java:57)
> at
> javax.management.NotificationBroadcasterSupport.handleNotification(Noti
> ficationBroadcasterSupport.java:343)
> at
> javax.management.NotificationBroadcasterSupport.sendNotification(Notifi
> cationBroadcasterSupport.java:317)
> at
> org.apache.geronimo.gbean.jmx.AbstractManagedObject.sendNotification(Ab
> stractManagedObject.java:282)
> at
> org.apache.geronimo.gbean.jmx.AbstractManagedObject.attemptFullStart(Ab
> stractManagedObject.java:535)
> at
> org.apache.geronimo.gbean.jmx.AbstractManagedObject.start(AbstractManag
> edObject.java:317)
> at
> org.apache.geronimo.gbean.jmx.AbstractManagedObject.startRecursive(Abst
> ractManagedObject.java:341)
> at
> org.apache.geronimo.gbean.jmx.GBeanMBean$8.invoke(GBeanMBean.java:617)
> at
> org.apache.geronimo.gbean.jmx.GBeanMBeanOperation.invoke(GBeanMBeanOper
> ation.java:193)
> at
> org.apache.geronimo.gbean.jmx.GBeanMBean.invoke(GBeanMBean.java:488)
> at
> mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBe
> anServerInterceptor.java:224)
> at
> mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBe
> anServerInterceptor.java:121)
> at
> mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityM
> BeanServerInterceptor.java:86)
> at
> mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBe
> anServerInterceptor.java:121)
> at
> mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBe
> anServerInterceptor.java:121)
> at
> mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke
> (ContextClassLoaderMBeanServerInterceptor.java:205)
> at
> mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1077)
> at
> org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartComma
> nd.java:88)
> at java.lang.Thread.run(Thread.java:536)
I don't see how this is possible. Do you still have the code that
makes this happen? If so, please send it to me.
> So I think something in AbstractManagedObject.java needs a better
> catch block.
> I'm not familiar enough with this code yet to guess where this should
> be...
Their is definitely something wacky going on.
-dain
|