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