On Thu, Jul 15, 2004 at 02:54:27PM -0700, David Jencks wrote:
> Can you check that your openejb copy is up to date?
I did a CVS pull and a "maven clean && maven", is there anything more
I need to do?
> I've been trying
> to fix these case problems in both projects while doing actual
> development work and I think but am not entirely sure that at least
> this problem is fixed. These attribute names should start with lower
> case as in cvs.
OK, here's more data. I have a resource adapter with a
config-property called "group" (or maybe "Group"). Anyway, the bean
setter is setGroup(String group). If I put
<config-property-name>group</config-property-name> in geronimo-ra.xml
I get (at startup):
08:45:36,921 DEBUG [GBeanMBean] geronimo.config:name="reva/spreadRA" State
changed from stopped to starting
08:45:36,966 DEBUG [Configuration] ClassPath for reva/spreadRA resolved to
[file:/home/tcabot/try/incubator-geronimo/target/config-store/13/connector/spread-3.17.0.jar,
file:/home/tcabot/try/incubator-geronimo/target/config-store/13/connector/x-spread.jar]
08:45:37,127 ERROR [Configuration] caught in doStart():
java.lang.IllegalArgumentException: reva.x.ra.spread.AdapterImpl: unknown
attribute group
at
org.apache.geronimo.gbean.DynamicGBeanDelegate.setAttribute(DynamicGBeanDelegate.java:119)
at
org.apache.geronimo.connector.ResourceAdapterWrapper.setAttribute(ResourceAdapterWrapper.java:131)
at
org.apache.geronimo.gbean.jmx.GBeanMBeanAttribute$DynamicSetterMethodInvoker.invoke(GBeanMBeanAttribute.java:473)
at
org.apache.geronimo.gbean.jmx.GBeanMBeanAttribute.online(GBeanMBeanAttribute.java:273)
at
org.apache.geronimo.gbean.jmx.GBeanMBean.preRegister(GBeanMBean.java:537)
at
mx4j.server.interceptor.InvokerMBeanServerInterceptor.registration(InvokerMBeanServerInterceptor.java:158)
at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
at
mx4j.server.interceptor.SecurityMBeanServerInterceptor.registration(SecurityMBeanServerInterceptor.java:135)
at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
at
mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.registration(ContextClassLoaderMBeanServerInterceptor.java:161)
at mx4j.server.MX4JMBeanServer.registerImpl(MX4JMBeanServer.java:801)
at
mx4j.server.MX4JMBeanServer.registerMBeanImpl(MX4JMBeanServer.java:745)
at mx4j.server.MX4JMBeanServer.registerMBean(MX4JMBeanServer.java:729)
at org.apache.geronimo.kernel.Kernel.loadGBean(Kernel.java:254)
If I change it to <config-property-name>group</config-property-name> I
get (at shutdown):
17:59:22,292 DEBUG [GBeanMBean] geronimo.config:name="reva/spreadRA" State
changed from running to stopping
17:59:22,292 INFO [Configuration] Stopping configuration reva/spreadRA
17:59:22,332 ERROR [GBeanMBeanAttribute] Could not get the current value of
persistent attribute while going offline. The persistent attribute will not
reflect the current state attribute. Attribute Name: Group, Type: class
java.lang.Object, GBean: org.apache.geronimo.connector.ResourceAdapterWrapper
java.lang.IllegalArgumentException: reva.x.ra.spread.AdapterImpl: unknown
attribute Group
at
org.apache.geronimo.gbean.DynamicGBeanDelegate.getAttribute(DynamicGBeanDelegate.java:111)
at
org.apache.geronimo.connector.ResourceAdapterWrapper.getAttribute(ResourceAdapterWrapper.java:127)
at
org.apache.geronimo.gbean.jmx.GBeanMBeanAttribute$DynamicGetterMethodInvoker.invoke(GBeanMBeanAttribute.java:461)
at
org.apache.geronimo.gbean.jmx.GBeanMBeanAttribute.offline(GBeanMBeanAttribute.java:289)
at
org.apache.geronimo.gbean.jmx.GBeanMBean.postDeregister(GBeanMBean.java:572)
at
mx4j.server.interceptor.InvokerMBeanServerInterceptor.registration(InvokerMBeanServerInterceptor.java:171)
at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
at
mx4j.server.interceptor.SecurityMBeanServerInterceptor.registration(SecurityMBeanServerInterceptor.java:135)
at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
at
mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.registration(ContextClassLoaderMBeanServerInterceptor.java:161)
at mx4j.server.MX4JMBeanServer.unregisterMBean(MX4JMBeanServer.java:949)
So it looks like we're internally inconsistent. Based on what you
said it looks as if the right value is "group" so the bug is in the
startup code. Might be the same bug I noted in the email that started
this thread.
Regards,
Toby