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
>> >
>> >
>
>