You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Hari Krishna Korrapati <ha...@gmail.com> on 2007/12/19 15:24:26 UTC

Reference to a Remote EJB on Geronimo 1.1.1

Hi,

I have an application which uses remote EJBs.
I am working with Geronimo 1.1.1.

web.xml has
    <ejb-ref id="EjbRef_1">
        <description/>
        <ejb-ref-name>ejb/AuthenticateSession</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <home>samples.biz.ejb.authenticate.AuthenticateSessionHome</home>
        <remote>samples.biz.ejb.authenticate.AuthenticateSession</remote>
        <ejb-link>AuthenticateSessionEJB</ejb-link>
    </ejb-ref>

Corresponding EJB jar is under ../WEB-INF/lib/ and not at the ear level,
hope that will be fine.

When i tried to deploy the ear, i got the following exception
Could not find an EJB for reference ejb/AuthenticateSession to a remote
session bean that has the home interface
samples.biz.ejb.authenticate.AuthenticateSessionHome and the remote
interface samples.biz.ejb.authenticate.AuthenticateSession
org.apache.geronimo.common.UnresolvedEJBRefException: Could not find an EJB
for reference ejb/AuthenticateSession to a remote session bean that has the
home interface samples.biz.ejb.authenticate.AuthenticateSessionHome and the
remote interface samples.ejb.authenticate.AuthenticateSession at
org.openejb.deployment.OpenEJBReferenceBuilder.getMatch(
OpenEJBReferenceBuilder.java:257) at
org.openejb.deployment.OpenEJBReferenceBuilder.createEJBRemoteRef(
OpenEJBReferenceBuilder.java:217) at
org.openejb.deployment.OpenEJBReferenceBuilder$$FastClassByCGLIB$$bfd62c9f.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

When i removed <ejb-link> tag in web.xml(in the part shown above) and
defined a reference in geronimo-web.xml as below

    <naming:ejb-ref>
        <ref-name>ejb/AuthenticateSession</ref-name>
        <pattern>
            <artifactId>sample-rc</artifactId>
            <name>AuthenticateSession</name>
        </pattern>
    </naming:ejb-ref>

then i got the following exception

19:31:30,761 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="sample-rc/samplewsapp/rc/car?configurationName=sample-rc/samplewsapp/rc/car"
org.apache.geronimo.kernel.config.InvalidConfigException: Unable to
deserialize GBeanState
    at org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(
SerializedGBeanState.java:120)
    at org.apache.geronimo.kernel.config.SerializedGBeanState.getGBeans(
SerializedGBeanState.java:65)
    at org.apache.geronimo.kernel.config.ConfigurationData.getGBeans(
ConfigurationData.java:171)
    at org.apache.geronimo.kernel.config.Configuration.<init>(
Configuration.java:277)
    at org.apache.geronimo.kernel.config.Configuration.<init>(
Configuration.java:295)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(
GBeanInstance.java:933)
    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:526)
    at org.apache.geronimo.kernel.basic.BasicKernel.startGBean(
BasicKernel.java:361)
    at org.apache.geronimo.kernel.config.KernelConfigurationManager.load(
KernelConfigurationManager.java:161)
    at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration
(SimpleConfigurationManager.java:307)
    at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration
(SimpleConfigurationManager.java:275)
    at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration
(SimpleConfigurationManager.java:250)
    at
org.apache.geronimo.kernel.config.KernelConfigurationManager.loadConfiguration
(KernelConfigurationManager.java:112)
    at
org.apache.geronimo.kernel.config.KernelConfigurationManager$$FastClassByCGLIB$$b117102f.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:122)
    at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:817)
    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.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$4ac69885.loadConfiguration
(<generated>)
    at
org.apache.geronimo.deployment.plugin.local.RedeployCommand.redeploySameConfiguration
(RedeployCommand.java:226)
    at org.apache.geronimo.deployment.plugin.local.RedeployCommand.run(
RedeployCommand.java:99)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: Unable to find class used in
GBeanData
sample-rc/samplewsapp/rc/car?J2EEApplication=sample-rc/samplewsapp/rc/car,j2eeType=WebModule,name=
samplews-rc.war
    at org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:268)
    at org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(
SerializedGBeanState.java:111)
    ... 30 more
Caused by: java.lang.ClassNotFoundException: Unable to find class used in
GBeanData
sample-rc/samplewsapp/rc/car?J2EEApplication=sample-rc/samplewsapp/rc/car,j2eeType=WebModule,name=
samplews-rc.war, attribute: componentContext
    at org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:237)
    ... 31 more
Caused by: java.lang.ClassNotFoundException: Could not load class
org.openejb.proxy.EJBProxyReference from classloader:
sample-rc/samplewsapp_samplews-rc.war/rc/car, destroyed state: false
    at org.apache.geronimo.kernel.ClassLoading.loadClass(ClassLoading.java
:213)
    at org.apache.geronimo.kernel.ObjectInputStreamExt.resolveClass(
ObjectInputStreamExt.java:38)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java
:1538)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
:1693)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
    at java.util.HashMap.readObject(HashMap.java:1011)
    at sun.reflect.GeneratedMethodAccessor302.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java
:919)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
:1713)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
    at org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:235)
    ... 31 more


Please provide me some input on where i am going wrong or what could be the
problem.

Thanks and Regards,
Hari