You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Olivier Voutat <ol...@gmail.com> on 2006/03/30 14:59:29 UTC

Accessing locally Container Beans

To do the remote lookup for a bean I was setting my properties like this :

----------------------------------------------------------------------------------------------------------------------------------
prop.put("java.naming.factory.initial","
org.openejb.client.RemoteInitialContextFactory");

prop.put("java.naming.provider.url","localhost:4201");

prop.put("java.naming.security.principal","system");

prop.put("java.naming.security.credentials","manager");
----------------------------------------------------------------------------------------------------------------------------------

I was researching and found that local calls should use:

----------------------------------------------------------------------------------------------------------------------------------
prop.put("java.naming.factory.initial","
org.openejb.client.LocalInitialContextFactory");
----------------------------------------------------------------------------------------------------------------------------------
but the question is (and I'm asking because I didn't had enough time to keep
testing) do I need the other properties lines ? Think not because it is a
internal container lookup but would like to be sure.

Best Regards,
Olivier Voutat

--
Olivier & Cidiane Voutat
Rua Praia de Muriú, 9188
Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917

Re: Accessing locally Container Beans

Posted by Olivier Voutat <ol...@gmail.com>.
Thanks for it Manu, but Aaron already showed me how to do it. InitialContext
without parameters and in my ejb-jar.xml:

<session>
   <ejb-name>MySession</ejb-name>
   <home>br.cefetrn.olivier.session.MySessionHome</home>
   <remote>br.cefetrn.olivier.session.MySession</remote>
   <ejb-class>br.cefetrn.olivier.session.MySessionBean</ejb-class>
   <session-type>Stateless</session-type>
   <transaction-type>Container</transaction-type>

//Reference to Entity Bean
   <ejb-local-ref>
      <ejb-ref-name>ejb/Cliente</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
      <local-home>br.cefetrn.olivier.entity.ClienteLocalHome</local-home>
      <local>br.cefetrn.olivier.entity.ClienteLocal</local>
      <ejb-link>Cliente</ejb-link>
   </ejb-local-ref>

//Reference to Entity Bean
   <ejb-local-ref>
      <ejb-ref-name>ejb/Carro</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
             <local-home>br.cefetrn.olivier.entity.CarroLocalHome
</local-home>
      <local>br.cefetrn.olivier.entity.CarroLocal</local>
      <ejb-link>Carro</ejb-link>
   </ejb-local-ref>

//Reference to Entity Bean
   <ejb-local-ref>
      <ejb-ref-name>ejb/Locacao</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
             <local-home>br.cefetrn.olivier.entity.LocacaoLocalHome
</local-home>
      <local>br.cefetrn.olivier.entity.LocacaoLocal</local>
      <ejb-link>Locacao</ejb-link>
   </ejb-local-ref>
</session>

In fact, I'm using a Web application but there is no need to ref in the
web.xml cause I'm creating a Ear, and for tests purposes I was using a
simple TestClass running outside the Container to see if it was working. And
don't know why but the code you're showing to use in the openejb-jar.xml,
wasn't need to get it working.

Thanks,
Olivier Voutat

On 4/3/06, Manu George <ma...@gmail.com> wrote:
>
> Hi,
>         Yes you need not have any parameters when you are creating an
> InitalContext locally in the server.
>
> Suppose you have a web app that refers an ejb
> In the web.xml you should add an ejb-ref
>
>       <ejb-ref>
>          <ejb-ref-name>ejb/Trade</ejb-ref-name>
>          <ejb-ref-type>Session</ejb-ref-type>
>          <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome</home>
>          <remote>org.apache.geronimo.samples.daytrader.ejb.Trade</remote>
>          <ejb-link>TradeEJB</ejb-link>
>       </ejb-ref>
>
> In your ejb-jar.xml you will define the ejb
>
>  <enterprise-beans>
>         <session>
>             <description>Trade Session EJB manages all Trading
> services</description>
>             <display-name>TradeEJB</display-name>
>             <ejb-name>TradeEJB</ejb-name>
>             <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome
> </home>
>             <remote>org.apache.geronimo.samples.daytrader.ejb.Trade
> </remote>
>             <ejb-class>org.apache.geronimo.samples.daytrader.ejb.TradeBean
> </ejb-class>
>             <session-type>Stateless</session-type>
>             <transaction-type>Container</transaction-type>
>        <session>
>  </enterprise-beans>
>
> And in your openejb-jar.xml the following
>
>             <enterprise-beans>
>                 <session>
>                     <ejb-name>TradeEJB</ejb-name>
>                     <jndi-name>ejb/TradeEJB</jndi-name>
>                 </session>
>             </enterprise-beans>
>
> You can look up the daytrader application that is distributed with
> geronimo. I took the above example from that application.
>
>
> Regards
> Manu
>
>
> On 3/31/06, Olivier Voutat <ol...@gmail.com> wrote:
> >
> > You mean like this in the ejb-jar.xml ?
> >
> >   <resource-ref>
> >     <ref-name>LookupName</ref-name>
> >     <resource-link>EntityBeanName</resource-link>
> >   </resource-ref>
> >
> > but if I do it this way, how I create the context ?
> > Like this:
> >
> > Context ctx = new InitialContext(); //without parameters ?
> >
> > Best Regards,
> > Olivier Voutat
> >
> >
> > On 3/31/06, Manu George <ma...@gmail.com> wrote:
> > >
> > > Hi Olivier,
> > >                You need not pass any properties to the InitialContext
> > > for local lookups from other components running in the server. You only need
> > > to give an ejb-ref in the deployment descriptor. You can get more info on
> > > this from Aaron's book
> > >
> > > http://www.chariotsolutions.com/geronimo/geronimo-html-one-page.html
> > >
> > > There are also many examples in developerworks and confluence
> > >
> > > Regards
> > > Manu
> > >
> > >
> > > On 3/30/06, Olivier Voutat < olivier.voutat@gmail.com> wrote:
> > > >
> > > > To do the remote lookup for a bean I was setting my properties like
> > > > this :
> > > >
> > > >
> > > > ----------------------------------------------------------------------------------------------------------------------------------
> > > > prop.put("java.naming.factory.initial","
> > > > org.openejb.client.RemoteInitialContextFactory");
> > > >
> > > > prop.put("java.naming.provider.url","localhost:4201");
> > > >
> > > > prop.put("java.naming.security.principal","system");
> > > >
> > > > prop.put("java.naming.security.credentials","manager");
> > > >
> > > > ----------------------------------------------------------------------------------------------------------------------------------
> > > >
> > > > I was researching and found that local calls should use:
> > > >
> > > >
> > > > ----------------------------------------------------------------------------------------------------------------------------------
> > > > prop.put("java.naming.factory.initial","
> > > > org.openejb.client.LocalInitialContextFactory");
> > > >
> > > > ----------------------------------------------------------------------------------------------------------------------------------
> > > > but the question is (and I'm asking because I didn't had enough time
> > > > to keep testing) do I need the other properties lines ? Think not because it
> > > > is a internal container lookup but would like to be sure.
> > > >
> > > > Best Regards,
> > > > Olivier Voutat
> > > >
> > > > --
> > > > Olivier & Cidiane Voutat
> > > > Rua Praia de Muriú, 9188
> > > > Cep 59092-390 / Natal - RN
> > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917
> > > >
> > >
> > >
> >
> >
> > --
> > Olivier & Cidiane Voutat
> > Rua Praia de Muriú, 9188
> > Cep 59092-390 / Natal - RN
> > Tel: (84) 3219-0427 Cel: (84) 9977-3917
> >
>
>


--
Olivier & Cidiane Voutat
Rua Praia de Muriú, 9188
Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917

Re: Accessing locally Container Beans

Posted by Manu George <ma...@gmail.com>.
Hi,
        Yes you need not have any parameters when you are creating an
InitalContext locally in the server.

Suppose you have a web app that refers an ejb
In the web.xml you should add an ejb-ref

      <ejb-ref>
         <ejb-ref-name>ejb/Trade</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome</home>
         <remote>org.apache.geronimo.samples.daytrader.ejb.Trade</remote>
         <ejb-link>TradeEJB</ejb-link>
      </ejb-ref>

In your ejb-jar.xml you will define the ejb

 <enterprise-beans>
        <session>
            <description>Trade Session EJB manages all Trading
services</description>
            <display-name>TradeEJB</display-name>
            <ejb-name>TradeEJB</ejb-name>
            <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome</home>
            <remote>org.apache.geronimo.samples.daytrader.ejb.Trade</remote>
            <ejb-class>org.apache.geronimo.samples.daytrader.ejb.TradeBean
</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
       <session>
 </enterprise-beans>

And in your openejb-jar.xml the following

            <enterprise-beans>
                <session>
                    <ejb-name>TradeEJB</ejb-name>
                    <jndi-name>ejb/TradeEJB</jndi-name>
                </session>
            </enterprise-beans>

You can look up the daytrader application that is distributed with geronimo.
I took the above example from that application.


Regards
Manu

On 3/31/06, Olivier Voutat <ol...@gmail.com> wrote:
>
> You mean like this in the ejb-jar.xml ?
>
>   <resource-ref>
>     <ref-name>LookupName</ref-name>
>     <resource-link>EntityBeanName</resource-link>
>   </resource-ref>
>
> but if I do it this way, how I create the context ?
> Like this:
>
> Context ctx = new InitialContext(); //without parameters ?
>
> Best Regards,
> Olivier Voutat
>
>
> On 3/31/06, Manu George <ma...@gmail.com> wrote:
> >
> > Hi Olivier,
> >                You need not pass any properties to the InitialContext
> > for local lookups from other components running in the server. You only need
> > to give an ejb-ref in the deployment descriptor. You can get more info on
> > this from Aaron's book
> >
> > http://www.chariotsolutions.com/geronimo/geronimo-html-one-page.html
> >
> > There are also many examples in developerworks and confluence
> >
> > Regards
> > Manu
> >
> >
> > On 3/30/06, Olivier Voutat < olivier.voutat@gmail.com> wrote:
> > >
> > > To do the remote lookup for a bean I was setting my properties like
> > > this :
> > >
> > >
> > > ----------------------------------------------------------------------------------------------------------------------------------
> > > prop.put("java.naming.factory.initial","
> > > org.openejb.client.RemoteInitialContextFactory");
> > >
> > > prop.put("java.naming.provider.url","localhost:4201");
> > >
> > > prop.put("java.naming.security.principal","system");
> > >
> > > prop.put("java.naming.security.credentials","manager");
> > >
> > > ----------------------------------------------------------------------------------------------------------------------------------
> > >
> > > I was researching and found that local calls should use:
> > >
> > >
> > > ----------------------------------------------------------------------------------------------------------------------------------
> > > prop.put("java.naming.factory.initial","
> > > org.openejb.client.LocalInitialContextFactory");
> > >
> > > ----------------------------------------------------------------------------------------------------------------------------------
> > > but the question is (and I'm asking because I didn't had enough time
> > > to keep testing) do I need the other properties lines ? Think not because it
> > > is a internal container lookup but would like to be sure.
> > >
> > > Best Regards,
> > > Olivier Voutat
> > >
> > > --
> > > Olivier & Cidiane Voutat
> > > Rua Praia de Muriú, 9188
> > > Cep 59092-390 / Natal - RN
> > > Tel: (84) 3219-0427 Cel: (84) 9977-3917
> > >
> >
> >
>
>
> --
> Olivier & Cidiane Voutat
> Rua Praia de Muriú, 9188
> Cep 59092-390 / Natal - RN
> Tel: (84) 3219-0427 Cel: (84) 9977-3917
>

Re: Accessing locally Container Beans

Posted by Olivier Voutat <ol...@gmail.com>.
You mean like this in the ejb-jar.xml ?

  <resource-ref>
    <ref-name>LookupName</ref-name>
    <resource-link>EntityBeanName</resource-link>
  </resource-ref>

but if I do it this way, how I create the context ?
Like this:

Context ctx = new InitialContext(); //without parameters ?

Best Regards,
Olivier Voutat

On 3/31/06, Manu George <ma...@gmail.com> wrote:
>
> Hi Olivier,
>                You need not pass any properties to the InitialContext for
> local lookups from other components running in the server. You only need to
> give an ejb-ref in the deployment descriptor. You can get more info on this
> from Aaron's book
>
> http://www.chariotsolutions.com/geronimo/geronimo-html-one-page.html
>
> There are also many examples in developerworks and confluence
>
> Regards
> Manu
>
>
> On 3/30/06, Olivier Voutat <ol...@gmail.com> wrote:
> >
> > To do the remote lookup for a bean I was setting my properties like this
> > :
> >
> >
> > ----------------------------------------------------------------------------------------------------------------------------------
> > prop.put("java.naming.factory.initial","
> > org.openejb.client.RemoteInitialContextFactory");
> >
> > prop.put("java.naming.provider.url","localhost:4201");
> >
> > prop.put("java.naming.security.principal","system");
> >
> > prop.put("java.naming.security.credentials","manager");
> >
> > ----------------------------------------------------------------------------------------------------------------------------------
> >
> > I was researching and found that local calls should use:
> >
> >
> > ----------------------------------------------------------------------------------------------------------------------------------
> > prop.put("java.naming.factory.initial","
> > org.openejb.client.LocalInitialContextFactory");
> >
> > ----------------------------------------------------------------------------------------------------------------------------------
> > but the question is (and I'm asking because I didn't had enough time to
> > keep testing) do I need the other properties lines ? Think not because it is
> > a internal container lookup but would like to be sure.
> >
> > Best Regards,
> > Olivier Voutat
> >
> > --
> > Olivier & Cidiane Voutat
> > Rua Praia de Muriú, 9188
> > Cep 59092-390 / Natal - RN
> > Tel: (84) 3219-0427 Cel: (84) 9977-3917
> >
>
>


--
Olivier & Cidiane Voutat
Rua Praia de Muriú, 9188
Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917

Re: Accessing locally Container Beans

Posted by Manu George <ma...@gmail.com>.
Hi Olivier,
               You need not pass any properties to the InitialContext for
local lookups from other components running in the server. You only need to
give an ejb-ref in the deployment descriptor. You can get more info on this
from Aaron's book

http://www.chariotsolutions.com/geronimo/geronimo-html-one-page.html

There are also many examples in developerworks and confluence

Regards
Manu

On 3/30/06, Olivier Voutat <ol...@gmail.com> wrote:
>
> To do the remote lookup for a bean I was setting my properties like this :
>
>
> ----------------------------------------------------------------------------------------------------------------------------------
> prop.put("java.naming.factory.initial","
> org.openejb.client.RemoteInitialContextFactory");
>
> prop.put("java.naming.provider.url","localhost:4201");
>
> prop.put("java.naming.security.principal","system");
>
> prop.put("java.naming.security.credentials","manager");
>
> ----------------------------------------------------------------------------------------------------------------------------------
>
> I was researching and found that local calls should use:
>
>
> ----------------------------------------------------------------------------------------------------------------------------------
> prop.put("java.naming.factory.initial","
> org.openejb.client.LocalInitialContextFactory");
>
> ----------------------------------------------------------------------------------------------------------------------------------
> but the question is (and I'm asking because I didn't had enough time to
> keep testing) do I need the other properties lines ? Think not because it is
> a internal container lookup but would like to be sure.
>
> Best Regards,
> Olivier Voutat
>
> --
> Olivier & Cidiane Voutat
> Rua Praia de Muriú, 9188
> Cep 59092-390 / Natal - RN
> Tel: (84) 3219-0427 Cel: (84) 9977-3917
>