You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Jérôme Besnainou <Je...@edifixio.com> on 2008/08/27 17:28:48 UTC

EJB binding not able to recover the connection after a failure

Hello,

I have an issue with EJB binding.  After a failure EJB binding is not able to recover the connection.
I'm using Tuscany 1.3 inside tomcat (6.0.16) + jdk 1.6 + Jonas 4.8.5 (EJB 2.1).

I have an EJB 2.1 deploy on Jonas and a SCA composite deploy on Tuscany inside Tomcat. This composite use the EJB binding in order to use the ejb service:
<reference name="deliveryService">
<binding.ejb uri="rmi://localhost:8092/DeliveryNoteServiceHome" />
</reference>
Everything works well in a nominal case.
However if:
-          I undeploy my ejb on Jonas and try to access it with Tuscany. I got an exception: this normal
-          Then I deploy again my ejb on jonas and try to access it with Tuscany. I got an exception while it should not

I had to shutdown Tuscany and restart it in order to be able to access my EJB again.

Here is the stack trace I have when Tuscany try to acces my EJB after the undeploy and deploy:
org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceUnavailableException: javax.naming.NameNotFoundException: DeliveryNoteServiceHome
        at org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)
        at org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)
        at org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)
        at org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)
        at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)
        at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
        at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
        at $Proxy10.getDeliveryNote(Unknown Source)

Do not hesitate to contact me if you need more details.

Best Regards,

  Jérôme




RE: EJB binding not able to recover the connection after a failure

Posted by Jérôme Besnainou <Je...@edifixio.com>.
Hello



I have tried a regular call of my EJB and I do not have the same problem.

It works well after deploy, undeploy and redeploy.



Here is my regular call of my EJB:
String serverUrl ="rmi://localhost:8092/DeliveryNoteServiceHome";
InitialContext jndiContext = new InitialContext();
Object lookedUp = jndiContext.lookup(serverUrl);
Object narrow = PortableRemoteObject.narrow(lookedUp, EdifixioEJBRemoteHome.class);
EdifixioEJBRemoteHome myDeliveryNoteServiceHome = (EdifixioEJBRemoteHome)narrow;

DeliveryNoteService myService = (DeliveryNoteService)myDeliveryNoteServiceHome.create();



Let me know if you need more information.



Best Regards,



  Jérôme





-----Message d'origine-----
De : Raymond Feng [mailto:enjoyjava@gmail.com]
Envoyé : mercredi 27 août 2008 18:58
À : user@tuscany.apache.org
Objet : Re: EJB binding not able to recover the connection after a failure



Thanks, the following stack is interesting:



        at

com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:99)



        at

com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)



        at javax.naming.InitialContext.lookup(InitialContext.java:392)



Can you try to use regular JNDI lookup to invoke your EJB (deploy, undeploy

and redeploy)? If you see the same problem, then I guess the

com.sun.jndi.rmi.registry.RegistryContext.lookup may have staled cache.



Thanks,

Raymond



From: Jérôme Besnainou

Sent: Wednesday, August 27, 2008 9:26 AM

To: user@tuscany.apache.org

Subject: RE: EJB binding not able to recover the connection after a failure





Hello,



Here is the full stack trace:

org.osoa.sca.ServiceRuntimeException:

org.osoa.sca.ServiceUnavailableException:

javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)

        at

org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)

        at

org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)

        at

org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

        at $Proxy10.getDeliveryNote(Unknown Source)

        at

com.edifixio.ecommerce.scorware.service.front.FrontServiceImpl.getDeliveryNote(FrontServiceImpl.java:202)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at

org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132)

        at

org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

        at $Proxy5.getDeliveryNote(Unknown Source)

        at

com.edifixio.ecommerce.scorware.web.action.deliverynote.ViewDeliveryNote.execute(ViewDeliveryNote.java:93)

        at

org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)

        at

org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)

        at

org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)

        at

org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)

        at

org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)

        at

org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)

        at

org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)

        at

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

        at

org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

        at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

        at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at

org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:98)

        at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

        at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

        at

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

        at

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)

        at

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

        at

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

        at

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

        at

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

        at

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

        at

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

        at

org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

        at java.lang.Thread.run(Thread.java:619)

Caused by: org.osoa.sca.ServiceUnavailableException:

javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at

org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.getStub(EJBStubHelper.java:51)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.lookup(EJBStubHelper.java:44)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:73)

        ... 45 more

Caused by: javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at

com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:99)

        at

com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)

        at javax.naming.InitialContext.lookup(InitialContext.java:392)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBLocator$JndiLocator.locate(EJBLocator.java:461)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBLocator.locate(EJBLocator.java:429)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBObjectFactory.createStub(EJBObjectFactory.java:65)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.getStub(EJBStubHelper.java:49)

        ... 47 more



Best Regards,



  Jérôme

-----Message d'origine-----

De : Raymond Feng [mailto:enjoyjava@gmail.com]

Envoyé : mercredi 27 août 2008 18:20

À : user@tuscany.apache.org

Objet : Re: EJB binding not able to recover the connection after a failure



It seems that there might be stale cache in the JNDI in your environment.

Can you give us the full stacktrace so that we can find out what EJB locator

is effective?



Thanks,



Raymond



From: Jérôme Besnainou

Sent: Wednesday, August 27, 2008 8:28 AM

To: user@tuscany.apache.org

Subject: EJB binding not able to recover the connection after a failure





Hello,



I have an issue with EJB binding.  After a failure EJB binding is not able

to recover the connection.

I'm using Tuscany 1.3 inside tomcat (6.0.16) + jdk 1.6 + Jonas 4.8.5 (EJB

2.1).



I have an EJB 2.1 deploy on Jonas and a SCA composite deploy on Tuscany

inside Tomcat. This composite use the EJB binding in order to use the ejb

service:

<reference name="deliveryService">

<binding.ejb uri="rmi://localhost:8092/DeliveryNoteServiceHome" />

</reference>

Everything works well in a nominal case.

However if:

-          I undeploy my ejb on Jonas and try to access it with Tuscany. I

got an exception: this normal

-          Then I deploy again my ejb on jonas and try to access it with

Tuscany. I got an exception while it should not



I had to shutdown Tuscany and restart it in order to be able to access my

EJB again.



Here is the stack trace I have when Tuscany try to acces my EJB after the

undeploy and deploy:

org.osoa.sca.ServiceRuntimeException:

org.osoa.sca.ServiceUnavailableException:

javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)

        at

org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)

        at

org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)

        at

org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

        at $Proxy10.getDeliveryNote(Unknown Source)



Do not hesitate to contact me if you need more details.



Best Regards,



  Jérôme











Re: EJB binding not able to recover the connection after a failure

Posted by Raymond Feng <en...@gmail.com>.
Thanks, the following stack is interesting:

        at 
com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:99)

        at 
com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)

        at javax.naming.InitialContext.lookup(InitialContext.java:392)

Can you try to use regular JNDI lookup to invoke your EJB (deploy, undeploy 
and redeploy)? If you see the same problem, then I guess the 
com.sun.jndi.rmi.registry.RegistryContext.lookup may have staled cache.

Thanks,
Raymond

From: Jérôme Besnainou
Sent: Wednesday, August 27, 2008 9:26 AM
To: user@tuscany.apache.org
Subject: RE: EJB binding not able to recover the connection after a failure


Hello,

Here is the full stack trace:
org.osoa.sca.ServiceRuntimeException: 
org.osoa.sca.ServiceUnavailableException: 
javax.naming.NameNotFoundException: DeliveryNoteServiceHome
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)
        at 
org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)
        at 
org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)
        at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)
        at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
        at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
        at $Proxy10.getDeliveryNote(Unknown Source)
        at 
com.edifixio.ecommerce.scorware.service.front.FrontServiceImpl.getDeliveryNote(FrontServiceImpl.java:202)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132)
        at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
        at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
        at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
        at $Proxy5.getDeliveryNote(Unknown Source)
        at 
com.edifixio.ecommerce.scorware.web.action.deliverynote.ViewDeliveryNote.execute(ViewDeliveryNote.java:93)
        at 
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
        at 
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
        at 
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:98)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.osoa.sca.ServiceUnavailableException: 
javax.naming.NameNotFoundException: DeliveryNoteServiceHome
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.getStub(EJBStubHelper.java:51)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.lookup(EJBStubHelper.java:44)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:73)
        ... 45 more
Caused by: javax.naming.NameNotFoundException: DeliveryNoteServiceHome
        at 
com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:99)
        at 
com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBLocator$JndiLocator.locate(EJBLocator.java:461)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBLocator.locate(EJBLocator.java:429)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBObjectFactory.createStub(EJBObjectFactory.java:65)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.getStub(EJBStubHelper.java:49)
        ... 47 more

Best Regards,

  Jérôme
-----Message d'origine-----
De : Raymond Feng [mailto:enjoyjava@gmail.com]
Envoyé : mercredi 27 août 2008 18:20
À : user@tuscany.apache.org
Objet : Re: EJB binding not able to recover the connection after a failure

It seems that there might be stale cache in the JNDI in your environment.
Can you give us the full stacktrace so that we can find out what EJB locator
is effective?

Thanks,

Raymond

From: Jérôme Besnainou
Sent: Wednesday, August 27, 2008 8:28 AM
To: user@tuscany.apache.org
Subject: EJB binding not able to recover the connection after a failure


Hello,

I have an issue with EJB binding.  After a failure EJB binding is not able
to recover the connection.
I'm using Tuscany 1.3 inside tomcat (6.0.16) + jdk 1.6 + Jonas 4.8.5 (EJB
2.1).

I have an EJB 2.1 deploy on Jonas and a SCA composite deploy on Tuscany
inside Tomcat. This composite use the EJB binding in order to use the ejb
service:
<reference name="deliveryService">
<binding.ejb uri="rmi://localhost:8092/DeliveryNoteServiceHome" />
</reference>
Everything works well in a nominal case.
However if:
-          I undeploy my ejb on Jonas and try to access it with Tuscany. I
got an exception: this normal
-          Then I deploy again my ejb on jonas and try to access it with
Tuscany. I got an exception while it should not

I had to shutdown Tuscany and restart it in order to be able to access my
EJB again.

Here is the stack trace I have when Tuscany try to acces my EJB after the
undeploy and deploy:
org.osoa.sca.ServiceRuntimeException:
org.osoa.sca.ServiceUnavailableException:
javax.naming.NameNotFoundException: DeliveryNoteServiceHome
        at
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)
        at
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)
        at
org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)
        at
org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)
        at
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)
        at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
        at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
        at $Proxy10.getDeliveryNote(Unknown Source)

Do not hesitate to contact me if you need more details.

Best Regards,

  Jérôme



 


RE: EJB binding not able to recover the connection after a failure

Posted by Jérôme Besnainou <Je...@edifixio.com>.
Hello,



Here is the full stack trace:

org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceUnavailableException: javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)

        at org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)

        at org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)

        at org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)

        at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)

        at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)

        at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

        at $Proxy10.getDeliveryNote(Unknown Source)

        at com.edifixio.ecommerce.scorware.service.front.FrontServiceImpl.getDeliveryNote(FrontServiceImpl.java:202)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132)

        at org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)

        at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)

        at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

        at $Proxy5.getDeliveryNote(Unknown Source)

        at com.edifixio.ecommerce.scorware.web.action.deliverynote.ViewDeliveryNote.execute(ViewDeliveryNote.java:93)

        at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)

        at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)

        at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)

        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)

        at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)

        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)

        at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)

        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:98)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

        at java.lang.Thread.run(Thread.java:619)

Caused by: org.osoa.sca.ServiceUnavailableException: javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.getStub(EJBStubHelper.java:51)

        at org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.lookup(EJBStubHelper.java:44)

        at org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:73)

        ... 45 more

Caused by: javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:99)

        at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)

        at javax.naming.InitialContext.lookup(InitialContext.java:392)

        at org.apache.tuscany.sca.binding.ejb.util.EJBLocator$JndiLocator.locate(EJBLocator.java:461)

        at org.apache.tuscany.sca.binding.ejb.util.EJBLocator.locate(EJBLocator.java:429)

        at org.apache.tuscany.sca.binding.ejb.util.EJBObjectFactory.createStub(EJBObjectFactory.java:65)

        at org.apache.tuscany.sca.binding.ejb.util.EJBStubHelper.getStub(EJBStubHelper.java:49)

        ... 47 more



Best Regards,



  Jérôme

-----Message d'origine-----
De : Raymond Feng [mailto:enjoyjava@gmail.com]
Envoyé : mercredi 27 août 2008 18:20
À : user@tuscany.apache.org
Objet : Re: EJB binding not able to recover the connection after a failure



It seems that there might be stale cache in the JNDI in your environment.

Can you give us the full stacktrace so that we can find out what EJB locator

is effective?



Thanks,



Raymond



From: Jérôme Besnainou

Sent: Wednesday, August 27, 2008 8:28 AM

To: user@tuscany.apache.org

Subject: EJB binding not able to recover the connection after a failure





Hello,



I have an issue with EJB binding.  After a failure EJB binding is not able

to recover the connection.

I'm using Tuscany 1.3 inside tomcat (6.0.16) + jdk 1.6 + Jonas 4.8.5 (EJB

2.1).



I have an EJB 2.1 deploy on Jonas and a SCA composite deploy on Tuscany

inside Tomcat. This composite use the EJB binding in order to use the ejb

service:

<reference name="deliveryService">

<binding.ejb uri="rmi://localhost:8092/DeliveryNoteServiceHome" />

</reference>

Everything works well in a nominal case.

However if:

-          I undeploy my ejb on Jonas and try to access it with Tuscany. I

got an exception: this normal

-          Then I deploy again my ejb on jonas and try to access it with

Tuscany. I got an exception while it should not



I had to shutdown Tuscany and restart it in order to be able to access my

EJB again.



Here is the stack trace I have when Tuscany try to acces my EJB after the

undeploy and deploy:

org.osoa.sca.ServiceRuntimeException:

org.osoa.sca.ServiceUnavailableException:

javax.naming.NameNotFoundException: DeliveryNoteServiceHome

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)

        at

org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)

        at

org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)

        at

org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)

        at

org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)

        at

org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

        at $Proxy10.getDeliveryNote(Unknown Source)



Do not hesitate to contact me if you need more details.



Best Regards,



  Jérôme









Re: EJB binding not able to recover the connection after a failure

Posted by Raymond Feng <en...@gmail.com>.
It seems that there might be stale cache in the JNDI in your environment. 
Can you give us the full stacktrace so that we can find out what EJB locator 
is effective?

Thanks,
Raymond

From: Jérôme Besnainou
Sent: Wednesday, August 27, 2008 8:28 AM
To: user@tuscany.apache.org
Subject: EJB binding not able to recover the connection after a failure


Hello,

I have an issue with EJB binding.  After a failure EJB binding is not able 
to recover the connection.
I'm using Tuscany 1.3 inside tomcat (6.0.16) + jdk 1.6 + Jonas 4.8.5 (EJB 
2.1).

I have an EJB 2.1 deploy on Jonas and a SCA composite deploy on Tuscany 
inside Tomcat. This composite use the EJB binding in order to use the ejb 
service:
<reference name="deliveryService">
<binding.ejb uri="rmi://localhost:8092/DeliveryNoteServiceHome" />
</reference>
Everything works well in a nominal case.
However if:
-          I undeploy my ejb on Jonas and try to access it with Tuscany. I 
got an exception: this normal
-          Then I deploy again my ejb on jonas and try to access it with 
Tuscany. I got an exception while it should not

I had to shutdown Tuscany and restart it in order to be able to access my 
EJB again.

Here is the stack trace I have when Tuscany try to acces my EJB after the 
undeploy and deploy:
org.osoa.sca.ServiceRuntimeException: 
org.osoa.sca.ServiceUnavailableException: 
javax.naming.NameNotFoundException: DeliveryNoteServiceHome
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:76)
        at 
org.apache.tuscany.sca.binding.ejb.util.EJBHandler.<init>(EJBHandler.java:66)
        at 
org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.doInvoke(EJBBindingInvoker.java:73)
        at 
org.apache.tuscany.sca.binding.ejb.provider.EJBBindingInvoker.invoke(EJBBindingInvoker.java:50)
        at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:107)
        at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
        at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
        at $Proxy10.getDeliveryNote(Unknown Source)

Do not hesitate to contact me if you need more details.

Best Regards,

  Jérôme