I think I have fixed this.

-dain

On Apr 25, 2007, at 10:56 AM, Kevan Miller wrote:

On Apr 25, 2007, at 1:21 PM, Dain Sundstrom wrote:

On Apr 25, 2007, at 7:18 AM, Kevan Miller wrote:

Dain,
My reading of the JCA 1.5 spec says that "destination" is a required ActivationSpec property only for JMS Endpoints. The above change makes it required in all cases. This causes problems for non-JMS ActivationSpec implementations -- as we are unable to configure "destination" properties on the ActivationSpec during deployment.

My bad. I accidently read the JMS section of the EJB spec as applying to all MDB types. Can you give me a stack trace for the problem, and I'll make it go away.

Thanks! Was an easy mistake to make... They made that section a bit unclear...

Here's a stack. Some names have been changed to protect the innocent...

00:39:27,074 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: abstractName="default/my_mdb/1-default/ car?J2EEApplication=default/my_mdb/1-default/ car,j2eeType=EJBModule,name=my_mdb_ejb.jar" org.apache.openejb.OpenEJBException: Creating application failed: / Users/kevan/./target/geronimo-jetty-2.0-SNAPSHOT/var/temp/geronimo- deploymentUtil12967.tmpdir: Error deploying 'MY_BEAN'. Exception: class org.apache.openejb.OpenEJBException: Unable to create activation spec: Unable to find a valid setter method: public void MyActivationSpec.setDestination(java.lang.String): Unable to create activation spec: Unable to find a valid setter method: public void MyActivationSpec.setDestination(java.lang.String) at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:494) at org.apache.openejb.assembler.classic.Assembler.createEjbJar (Assembler.java:326) at org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar (OpenEjbSystemGBean.java:335) at org.apache.geronimo.openejb.OpenEjbSystemGBean$$FastClassByCGLIB $$5005cdd0.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:820) 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.openejb.OpenEjbSystem$$EnhancerByCGLIB$ $35da241d.createEjbJar(<generated>) at org.apache.geronimo.openejb.EjbModuleImpl.start (EjbModuleImpl.java:123) at org.apache.geronimo.openejb.EjbModuleImplGBean.doStart (EjbModuleImplGBean.java:39) at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance (GBeanInstance.java:986) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( GBeanInstanceState.java:267) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start (GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstance.start (GBeanInstance.java:529) at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart (GBeanDependency.java:111) at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget (GBeanDependency.java:146) at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running (GBeanDependency.java:120) at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEven t(BasicLifecycleMonitor.java:173) at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access $300(BasicLifecycleMonitor.java:41) at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor $RawLifecycleBroadcaster.fireRunningEvent (BasicLifecycleMonitor.java:251) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( GBeanInstanceState.java:292) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start (GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive (GBeanInstanceState.java:124) at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive (GBeanInstance.java:543) at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean (BasicKernel.java:379) at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration GBeans(ConfigurationUtil.java:437) at org.apache.geronimo.kernel.config.KernelConfigurationManager.start (KernelConfigurationManager.java:188) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf iguration(SimpleConfigurationManager.java:530) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf iguration(SimpleConfigurationManager.java:511) at org.apache.geronimo.kernel.config.SimpleConfigurationManager$ $FastClassByCGLIB$$ce77a924.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke (BasicKernel.java:239) at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java: 342) at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$ $1cccefc9.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke (BasicKernel.java:239) at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke (MBeanGBeanBridge.java:168) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke (DynamicMetaDataImpl.java:213)
        at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke (DefaultMBeanServerInterceptor.java:815) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke (JmxMBeanServer.java:784) at javax.management.remote.rmi.RMIConnectionImpl.doOperation (RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.access$100 (RMIConnectionImpl.java:81) at javax.management.remote.rmi.RMIConnectionImpl $PrivilegedOperation.run(RMIConnectionImpl.java:1245)
        at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation (RMIConnectionImpl.java:1348) at javax.management.remote.rmi.RMIConnectionImpl.invoke (RMIConnectionImpl.java:782)
        at sun.reflect.GeneratedMethodAccessor81.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java: 294)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages (TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run (TCPTransport.java:707)
        at java.lang.Thread.run(Thread.java:613)
Caused by: org.apache.openejb.OpenEJBException: Error deploying 'MY_BEAN'. Exception: class org.apache.openejb.OpenEJBException: Unable to create activation spec: Unable to find a valid setter method: public void MyActivationSpec.setDestination (java.lang.String): Unable to create activation spec: Unable to find a valid setter method: public void MyActivationSpec.setDestination(java.lang.String) at org.apache.openejb.assembler.classic.EjbJarBuilder.deploy (EjbJarBuilder.java:76) at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:427)
        ... 66 more
Caused by: org.apache.openejb.OpenEJBException: Unable to create activation spec: Unable to find a valid setter method: public void MyTxActivationSpec.setDestination(java.lang.String) at org.apache.openejb.core.mdb.MdbContainer.createActivationSpec (MdbContainer.java:157) at org.apache.openejb.core.mdb.MdbContainer.deploy (MdbContainer.java:105) at org.apache.openejb.assembler.classic.EjbJarBuilder.deploy (EjbJarBuilder.java:74)
        ... 67 more
Caused by: org.apache.xbean.recipe.MissingAccessorException: Unable to find a valid setter method: public void MyActivationSpec.setDestination(java.lang.String) at org.apache.xbean.recipe.ObjectRecipe.findSetter (ObjectRecipe.java:692) at org.apache.xbean.recipe.ObjectRecipe.setProperty (ObjectRecipe.java:270) at org.apache.xbean.recipe.ObjectRecipe.setProperties (ObjectRecipe.java:251)
        at org.apache.xbean.recipe.ObjectRecipe.create(ObjectRecipe.java:198)
at org.apache.openejb.core.mdb.MdbContainer.createActivationSpec (MdbContainer.java:142)
        ... 69 more

--kevan


Reply via email to