Re: Re: Re: Re: How to change remote JNDI-name in Jonas

"Guillaume Sauthier (OW2)" <[email protected]> Tue, 9 Aug 2011 11:55:45 +0200
Newsgroups gmane.comp.java.objectweb.jonas
Message-ID <CAG1yf3NGsU_xSUq-Po_R=g_8FagTO+SZM0UrAHiqtnBcZbkF3g@mail.gmail.com>
--0016e6d646974c716504aa0f91aa
Content-Type: text/plain; charset=ISO-8859-1

You should also remove your mapped names (don't needed anymore because you
rely on the container to find the right interface for you).

--G

2011/8/9 Stefaan Somers <[email protected]>

> 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 :)
> >
> > /**
> >  * Session Bean implementation class Calculator
> >  */
> > @Stateless
> > public class Calculator implements CalculatorRemote, CalculatorLocal {
> >
> >   @EJB
> >   private ParametersLocal params;
> >
> >
> >     /**
> >      * Default constructor.
> >      */
> >     public Calculator() {
> >
> >     }
> >
> >     @Override
> >     public String returnMessage() {
> >         result = parameters.getParameter();
> >         return "It's all being calculated :" + result;
> >     }
> >
> > }
> >
> > 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
> >>        at
> >>
> be.sso.test.Calculator.original$EasyBeans$returnMessage(Calculator.java:34)
> >>        at
> >>
> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown
> >> Source)
> >>        at
> >>
> org.ow2.easybeans.transaction.interceptors.CMTRequiredTransactionInterceptor.intercept(CMTRequiredTransactionInterceptor.java:110)
> >>        at
> >>
> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown
> >> Source)
> >>        at
> >>
> org.ow2.jonas.jndi.interceptors.impl.easybeans.ResourceCheckerInterceptor.intercept(ResourceCheckerInterceptor.java:103)
> >>        at
> >>
> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown
> >> Source)
> >>        at
> >>
> org.ow2.jonas.ejb.easybeans.JOnASENCInterceptor.intercept(JOnASENCInterceptor.java:67)
> >>        at
> >>
> org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.EasyBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unknown
> >> Source)
> >>        at be.sso.test.Calculator.returnMessage(Calculator.java)
> >>        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.ow2.easybeans.container.session.stateless.StatelessSessionFactory.localCall(StatelessSessionFactory.java:161)
> >>        at
> >>
> org.ow2.easybeans.container.session.SessionFactory.rpcInvoke(SessionFactory.java:237)
> >>        at
> >>
> org.ow2.easybeans.rpc.rmi.server.RMIServerRPCImpl.getEJBResponse(RMIServerRPCImpl.java:106)
> >>        at
> >>
> org.ow2.easybeans.rpc.rmi.client.RMIClientRPC.sendEJBRequest(RMIClientRPC.java:105)
> >>        at
> >>
> org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(ClientRPCInvocationHandler.java:195)
> >>        at
> >>
> org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(ClientRPCInvocationHandler.java:111)
> >>        at $Proxy62.returnMessage(Unknown Source)
> >>        at
> be.sso.servlet.CalculateServlet.doGet(CalculateServlet.java:40)
> >>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> >>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >>        at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >>        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:191)
> >>        at
> >>
> org.ow2.jonas.web.tomcat6.CheckOpenResourcesValve.invoke(CheckOpenResourcesValve.java:73)
> >>        at
> >>
> org.ow2.jonas.web.tomcat6.tx.TransactionValve.invoke(TransactionValve.java:90)
> >>        at
> >>
> org.ow2.jonas.web.tomcat6.ResetAuthenticationValve.invoke(ResetAuthenticationValve.java:95)
> >>        at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> >>        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:340)
> >>        at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
> >>        at
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> >>        at
> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >>        at 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
> >> >
> >> >
> >
> >
>

--0016e6d646974c716504aa0f91aa
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

You should also remove your mapped names (don&#39;t needed anymore because =
you rely on the container to find the right interface for you).<br><br>--G<=
br><br><div class=3D"gmail_quote">2011/8/9 Stefaan Somers <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:[email protected]">[email protected]</=
a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Hello,<br>
<br>
I&#39;v tried that too, but it also injects the remote-bean then instead<br=
>
of the local-bean.<br>
<br>
Greetings,<br>
<br>
Stefaan Somers<br>
<br>
On 9 August 2011 11:04, Guillaume Sauthier (OW2)<br>
<div><div></div><div class=3D"h5">&lt;<a href=3D"mailto:guillaume.sauthier@=
ow2.org">[email protected]</a>&gt; wrote:<br>
&gt; Can&#39;t you change your Calculator.java to something like this:<br>
&gt;<br>
&gt; It&#39;s much more easier to read :)<br>
&gt;<br>
&gt; /**<br>
&gt; =A0* Session Bean implementation class Calculator<br>
&gt; =A0*/<br>
&gt; @Stateless<br>
&gt; public class Calculator implements CalculatorRemote, CalculatorLocal {=
<br>
&gt;<br>
&gt; =A0 @EJB<br>
&gt; =A0 private ParametersLocal params;<br>
&gt;<br>
&gt;<br>
&gt; =A0=A0=A0 /**<br>
&gt; =A0=A0=A0=A0 * Default constructor.<br>
&gt; =A0=A0=A0=A0 */<br>
&gt; =A0=A0=A0 public Calculator() {<br>
&gt;<br>
&gt; =A0=A0=A0 }<br>
&gt;<br>
&gt; =A0=A0=A0 @Override<br>
&gt; =A0=A0=A0 public String returnMessage() {<br>
&gt; =A0=A0=A0 =A0=A0=A0 result =3D parameters.getParameter();<br>
&gt; =A0=A0=A0 =A0=A0=A0 return &quot;It&#39;s all being calculated :&quot;=
 + result;<br>
&gt; =A0=A0=A0 }<br>
&gt;<br>
&gt; }<br>
&gt;<br>
&gt; 2011/8/9 Stefaan Somers &lt;<a href=3D"mailto:[email protected]=
">[email protected]</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi Guillaume,<br>
&gt;&gt; Thnks for responding. I&#39;m already banging my head for a few da=
ys with<br>
&gt;&gt; this problem. So any help would be most welcome.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve included a sample project. For the Parameters-bean I use =
the<br>
&gt;&gt; mappedName parameter, since I need to give it a unique-name.<br>
&gt;&gt;<br>
&gt;&gt; If I try to get the Local Parameters-bean with the Calculator-bean=
, it<br>
&gt;&gt; gives me the following exception :<br>
&gt;&gt;<br>
&gt;&gt; java.lang.ClassCastException: $Proxy63 cannot be cast to<br>
&gt;&gt; be.sso.test.ParametersLocal<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; be.sso.test.Calculator.original$EasyBeans$returnMessage(Calculator=
.java:34)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.Eas=
yBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unkn=
own<br>
&gt;&gt; Source)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.transaction.interceptors.CMTRequiredTransactionI=
nterceptor.intercept(CMTRequiredTransactionInterceptor.java:110)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.Eas=
yBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unkn=
own<br>
&gt;&gt; Source)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.jonas.jndi.interceptors.impl.easybeans.ResourceCheckerInte=
rceptor.intercept(ResourceCheckerInterceptor.java:103)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.Eas=
yBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unkn=
own<br>
&gt;&gt; Source)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.jonas.ejb.easybeans.JOnASENCInterceptor.intercept(JOnASENC=
Interceptor.java:67)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.gen.invocationcontext.be.sso.test.Calculator.Eas=
yBeansInvocationContextImplreturnMessageAROUNDINVOKE1942950347.proceed(Unkn=
own<br>
&gt;&gt; Source)<br>
&gt;&gt; =A0 =A0 =A0 =A0at be.sso.test.Calculator.returnMessage(Calculator.=
java)<br>
&gt;&gt; =A0 =A0 =A0 =A0at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat=
ive Method)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm=
pl.java:39)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc=
cessorImpl.java:25)<br>
&gt;&gt; =A0 =A0 =A0 =A0at java.lang.reflect.Method.invoke(Method.java:597)=
<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.container.session.stateless.StatelessSessionFact=
ory.localCall(StatelessSessionFactory.java:161)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.container.session.SessionFactory.rpcInvoke(Sessi=
onFactory.java:237)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.rpc.rmi.server.RMIServerRPCImpl.getEJBResponse(R=
MIServerRPCImpl.java:106)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.rpc.rmi.client.RMIClientRPC.sendEJBRequest(RMICl=
ientRPC.java:105)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(C=
lientRPCInvocationHandler.java:195)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(C=
lientRPCInvocationHandler.java:111)<br>
&gt;&gt; =A0 =A0 =A0 =A0at $Proxy62.returnMessage(Unknown Source)<br>
&gt;&gt; =A0 =A0 =A0 =A0at be.sso.servlet.CalculateServlet.doGet(CalculateS=
ervlet.java:40)<br>
&gt;&gt; =A0 =A0 =A0 =A0at javax.servlet.http.HttpServlet.service(HttpServl=
et.java:617)<br>
&gt;&gt; =A0 =A0 =A0 =A0at javax.servlet.http.HttpServlet.service(HttpServl=
et.java:717)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A=
pplicationFilterChain.java:290)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati=
onFilterChain.java:206)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapp=
erValve.java:233)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.core.StandardContextValve.invoke(StandardConte=
xtValve.java:191)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.jonas.web.tomcat6.CheckOpenResourcesValve.invoke(CheckOpen=
ResourcesValve.java:73)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.jonas.web.tomcat6.tx.TransactionValve.invoke(TransactionVa=
lve.java:90)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.ow2.jonas.web.tomcat6.ResetAuthenticationValve.invoke(ResetAut=
henticationValve.java:95)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.core.StandardHostValve.invoke(StandardHostValv=
e.java:127)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValv=
e.java:102)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.core.StandardEngineValve.invoke(StandardEngine=
Valve.java:109)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.=
java:340)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.coyote.http11.Http11Processor.process(Http11Processor.j=
ava:857)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.pr=
ocess(Http11Protocol.java:588)<br>
&gt;&gt; =A0 =A0 =A0 =A0at<br>
&gt;&gt; org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java=
:489)<br>
&gt;&gt; =A0 =A0 =A0 =A0at java.lang.Thread.run(Thread.java:619)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 9 August 2011 10:45, Guillaume Sauthier (OW2)<br>
&gt;&gt; &lt;<a href=3D"mailto:[email protected]">guillaume.sauthi=
[email protected]</a>&gt; wrote:<br>
&gt;&gt; &gt; Can&#39;t you rely on container&#39;s injection (@EJB) ?<br>
&gt;&gt; &gt; --G<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 2011/8/9 Stefaan Somers &lt;<a href=3D"mailto:stefaan.somers@=
gmail.com">[email protected]</a>&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hi all,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I need to change the remote jndi-name of a Stateless Sess=
ion Bean .<br>
&gt;&gt; &gt;&gt; Default the naming for jonas is :<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; SessionBean.class.getName()<br>
&gt;&gt; &gt;&gt; + &quot;_&quot; + SessionBeanInterface.class.getName() + =
&quot;@Remote&quot;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; How can I change this. If I add the attribute mappedName =
in the<br>
&gt;&gt; &gt;&gt; @Stateless-annotation, I cannot get to the Local Interfac=
e anymore.<br>
&gt;&gt; &gt;&gt; And I need to be able to get to both.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Greetings,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Stefaan Somers<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>

--0016e6d646974c716504aa0f91aa--