Re: Re: Re: How to change remote JNDI-name in Jonas
Stefaan Somers <[email protected]> Tue, 9 Aug 2011 11:06:28 +0200
| Newsgroups | gmane.comp.java.objectweb.jonas |
|---|---|
| Message-ID | <CA+N_TpUfYxzjuZK=C9HxyVc4rEdG0dhbHZNAb5TVR_SQvydLRg@mail.gmail.com> |
Hello, I'v tried that too, but it also injects the remote-bean then instead of the local-bean. Greetings, Stefaan Somers On 9 August 2011 11:04, Guillaume Sauthier (OW2) <[email protected]> wrote: > Can't you change your Calculator.java to something like this: > > It's much more easier to read :) > > /** > =A0* Session Bean implementation class Calculator > =A0*/ > @Stateless > public class Calculator implements CalculatorRemote, CalculatorLocal { > > =A0 @EJB > =A0 private ParametersLocal params; > > > =A0=A0=A0 /** > =A0=A0=A0=A0 * Default constructor. > =A0=A0=A0=A0 */ > =A0=A0=A0 public Calculator() { > > =A0=A0=A0 } > > =A0=A0=A0 @Override > =A0=A0=A0 public String returnMessage() { > =A0=A0=A0 =A0=A0=A0 result =3D parameters.getParameter(); > =A0=A0=A0 =A0=A0=A0 return "It's all being calculated :" + result; > =A0=A0=A0 } > > } > > 2011/8/9 Stefaan Somers <[email protected]> >> >> Hi Guillaume, >> Thnks for responding. I'm already banging my head for a few days with >> this problem. So any help would be most welcome. >> >> I've included a sample project. For the Parameters-bean I use the >> mappedName parameter, since I need to give it a unique-name. >> >> If I try to get the Local Parameters-bean with the Calculator-bean, it >> gives me the following exception : >> >> java.lang.ClassCastException: $Proxy63 cannot be cast to >> be.sso.test.ParametersLocal >> =A0 =A0 =A0 =A0at >> be.sso.test.Calculator.original$EasyBeans$returnMessage(Calculator.java:= 34) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeans= InvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown >> Source) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.transaction.interceptors.CMTRequiredTransactionInterce= ptor.intercept(CMTRequiredTransactionInterceptor.java:110) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeans= InvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown >> Source) >> =A0 =A0 =A0 =A0at >> org.ow2.jonas.jndi.interceptors.impl.easybeans.ResourceCheckerIntercepto= r.intercept(ResourceCheckerInterceptor.java:103) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeans= InvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown >> Source) >> =A0 =A0 =A0 =A0at >> org.ow2.jonas.ejb.easybeans.JOnASENCInterceptor.intercept(JOnASENCInterc= eptor.java:67) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeans= InvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown >> Source) >> =A0 =A0 =A0 =A0at be.sso.test.Calculator.returnMessage(Calculator.java) >> =A0 =A0 =A0 =A0at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Me= thod) >> =A0 =A0 =A0 =A0at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav= a:39) >> =A0 =A0 =A0 =A0at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor= Impl.java:25) >> =A0 =A0 =A0 =A0at java.lang.reflect.Method.invoke(Method.java:597) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.lo= calCall(StatelessSessionFactory.java:161) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.container.session.SessionFactory.rpcInvoke(SessionFact= ory.java:237) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.rpc.rmi.server.RMIServerRPCImpl.getEJBResponse(RMIServ= erRPCImpl.java:106) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.rpc.rmi.client.RMIClientRPC.sendEJBRequest(RMIClientRP= C.java:105) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(ClientR= PCInvocationHandler.java:195) >> =A0 =A0 =A0 =A0at >> org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(ClientR= PCInvocationHandler.java:111) >> =A0 =A0 =A0 =A0at $Proxy62.returnMessage(Unknown Source) >> =A0 =A0 =A0 =A0at be.sso.servlet.CalculateServlet.doGet(CalculateServlet= .java:40) >> =A0 =A0 =A0 =A0at javax.servlet.http.HttpServlet.service(HttpServlet.jav= a:617) >> =A0 =A0 =A0 =A0at javax.servlet.http.HttpServlet.service(HttpServlet.jav= a:717) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica= tionFilterChain.java:290) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt= erChain.java:206) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv= e.java:233) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv= e.java:191) >> =A0 =A0 =A0 =A0at >> org.ow2.jonas.web.tomcat6.CheckOpenResourcesValve.invoke(CheckOpenResour= cesValve.java:73) >> =A0 =A0 =A0 =A0at >> org.ow2.jonas.web.tomcat6.tx.TransactionValve.invoke(TransactionValve.ja= va:90) >> =A0 =A0 =A0 =A0at >> org.ow2.jonas.web.tomcat6.ResetAuthenticationValve.invoke(ResetAuthentic= ationValve.java:95) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java= :127) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java= :102) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.= java:109) >> =A0 =A0 =A0 =A0at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:3= 40) >> =A0 =A0 =A0 =A0at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85= 7) >> =A0 =A0 =A0 =A0at >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(= Http11Protocol.java:588) >> =A0 =A0 =A0 =A0at >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) >> =A0 =A0 =A0 =A0at java.lang.Thread.run(Thread.java:619) >> >> >> >> On 9 August 2011 10:45, Guillaume Sauthier (OW2) >> <[email protected]> wrote: >> > Can't you rely on container's injection (@EJB) ? >> > --G >> > >> > 2011/8/9 Stefaan Somers <[email protected]> >> >> >> >> Hi all, >> >> >> >> I need to change the remote jndi-name of a Stateless Session Bean . >> >> Default the naming for jonas is : >> >> >> >> SessionBean.class.getName() >> >> + "_" + SessionBeanInterface.class.getName() + "@Remote" >> >> >> >> How can I change this. If I add the attribute mappedName in the >> >> @Stateless-annotation, I cannot get to the Local Interface anymore. >> >> And I need to be able to get to both. >> >> >> >> Greetings, >> >> >> >> Stefaan Somers >> > >> > > >