geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: Problem with referencing to beans from other ejb-jars
Date Fri, 14 Sep 2007 05:31:27 GMT
I thought I'd take the opportunity to send some love David B's way...  
I think it's great the way he's been addressing these user questions  
and documenting in the Wiki.

I hope we can get this stuff organized so that users can find this  
information in a reasonable manner...

--kevan

On Sep 13, 2007, at 3:54 PM, David Blevins wrote:

> Hi Tomasz,
>
> I created a doc for you that describes the missing parts.
>
>   http://cwiki.apache.org/OPENEJB/ejb-refs.html
>
> Keep what you have with the openejb-jar and add the parts described  
> in this to your ejb-jar.xml.
>
> Unfortunately, while looking into this I discovered that our code  
> for overriding an @EJB annotation with an <ejb-ref> in the xml is  
> not implemented, thus if you have @EJB and the corresponding <ejb- 
> ref> as described in the first section of the document, you'll end  
> up with two refs and not one as you should.
>
> We'll get this fixed asap, but until then follow the technique  
> described in the second part of the doc and in the next version of  
> Geronimo you'll be able to delete some of that xml and readd the  
> @EJB annotation.
>
> -David
>
>
>
> On Sep 13, 2007, at 6:58 AM, Tomasz Mazan wrote:
>
>>
>> Hello
>>
>> I got deployed module A (JAR) and application B (EAR).
>>
>> A) Contains stateless bean
>>
>> @Stateless(name = "JmsDispatcherGate")
>> public class JmsDispatcherGateImpl implements DispatcherGateLocal,
>> DispatcherGateRemote {
>>
>> and - of course - necessary interfaces.
>>
>> ejb-jar.xml does'nt contain interesting content,
>> openejb-jar.xml contains module description
>>     <sys:moduleId>
>>       <sys:groupId>myejbmodule</sys:groupId>
>>       <sys:artifactId>Dispatcher</sys:artifactId>
>>       <sys:version>1.0</sys:version>
>>       <sys:type>jar</sys:type>
>>     </sys:moduleId>
>>
>> B) Application contains two ejb-jars with beans
>>
>> geronimo-application.xml contains
>>         <dependencies>
>>         	<dependency>
>>         		<groupId>myejbmodule</groupId>
>>         		<artifactId>Dispatcher</artifactId>
>>         		<version>1.0</version>
>>         		<type>jar</type>
>>         	</dependency>
>>         </dependencies>
>>
>> and one of B-module has openejb-jar.xml with similar dependencie's
>> definition.
>> Bean in B-module references to bean from A (EJB) using code below:
>>
>> 	@EJB(name = "JmsDispatcherGate")
>> 	private DispatcherGateLocal dispatcherGate;
>>
>> Problem occurs on deploying B-application (EAR) while A (EJB) is  
>> correctly
>> deployed and Geronimo Console JNDI Viewer show JmsDispatcherGate  
>> bean. I
>> tried to use Remote interface - with no special difference.
>>
>> Exception stacktrace:
>> 15:31:18,812 FATAL [startup] Cannot find bean "JmsDispatcherGate"  
>> referenced
>> by bean "CoreManagerLocal".
>> 15:31:18,812 ERROR [Deployer] Deployment failed due to
>> org.apache.geronimo.common.DeploymentException:
>> org.apache.openejb.OpenEJBException: Cannot find bean  
>> "JmsDispatcherGate"
>> referenced by bean "CoreManagerLocal".
>> 	at
>> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.getEjbJarInfo 
>> (EjbModuleBuilder.java:530)
>> 	at
>> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.initContext 
>> (EjbModuleBuilder.java:437)
>> 	at
>> org.apache.geronimo.openejb.deployment.EjbModuleBuilder$ 
>> $FastClassByCGLIB$$cd80af20.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:124)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:830)
>> 	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.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$ 
>> $dc485bed.initContext(<generated>)
>> 	at
>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfigurati 
>> on(EARConfigBuilder.java:576)
>> 	at
>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder$ 
>> $FastClassByCGLIB$$38e56ec6.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:124)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:830)
>> 	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.j2ee.deployment.CorbaGBeanNameSource$ 
>> $EnhancerByCGLIB$$1375d602.buildConfiguration(<generated>)
>> 	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:304)
>> 	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:126)
>> 	at
>> org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$ 
>> $734a235d.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:124)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:865)
>> 	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:124)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:865)
>> 	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.GeneratedMethodAccessor217.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:595)
>> Caused by: org.apache.openejb.OpenEJBException: Cannot find bean
>> "JmsDispatcherGate" referenced by bean "CoreManagerLocal".
>> 	at
>> org.apache.openejb.config.JndiEncInfoBuilder.buildEjbLocalRefInfos 
>> (JndiEncInfoBuilder.java:371)
>> 	at
>> org.apache.openejb.config.JndiEncInfoBuilder.build 
>> (JndiEncInfoBuilder.java:245)
>> 	at
>> org.apache.openejb.config.JndiEncInfoBuilder.initJndiReferences 
>> (JndiEncInfoBuilder.java:166)
>> 	at
>> org.apache.openejb.config.JndiEncInfoBuilder.initJndiReferences 
>> (JndiEncInfoBuilder.java:102)
>> 	at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication 
>> (ConfigurationFactory.java:340)
>> 	at
>> org.apache.geronimo.openejb.OpenEjbSystemGBean.configureApplication 
>> (OpenEjbSystemGBean.java:303)
>> 	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:124)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
>> (GBeanInstance.java:830)
>> 	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$ 
>> $e2a54c40.configureApplication(<generated>)
>> 	at
>> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.getEjbJarInfo 
>> (EjbModuleBuilder.java:515)
>> 	... 56 more
>>
>> Any idea what goes wrong and how to make it working?
>>
>> tia
>> Beniamin
>> -- 
>> View this message in context: http://www.nabble.com/Problem-with- 
>> referencing-to-beans-from-other-ejb-jars-tf4435740s134.html#a12654889
>> Sent from the Apache Geronimo - Users mailing list archive at  
>> Nabble.com.
>>
>>
>


Mime
View raw message