tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rcabaco <rcab...@gmail.com>
Subject Re: InitialContext JNDI Lookup
Date Wed, 30 Jan 2008 01:49:17 GMT

The friendly guys at #openejb on freenode provided me with a nice solution.
The EJB lookup can be done through http in the following way:

Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.client.RemoteInitialContextFactory");
properties.put(Context.PROVIDER_URL,"http://127.0.0.1:8080/openejb/ejb/");
this.initialContext = new InitialContext(properties);

And then a simple initialContext.lookup("EJBIdentification") will do the
trick. If you're not using any jndi formatting the EJBIdentification would
be: <EJBName><InterfaceType> (e.g. MyEJBRemote)

Quite nice.



rcabaco wrote:
> 
> Hello
> 
> I am having a similar problem. I use the following:
> - OpenEJB 3.0 beta 1
> - Tomcat
> 
> I deploy the ejb jar and everything goes according to plan. I am now stuck
> trying to get a Remote EJB. In the tutorials i've seen that the ejbd
> service should be running to perform a remote local but i don't know how
> to start it and haven't found any information on how to do it when OpenEJB
> is running in Tomcat.
> 
> Any thoughts?
> 
> 
> 
> Tom Purcell wrote:
>> 
>> Hello
>> 
>> Here is my current lookup code. (Notice I've tried the two suggested
>> formats):
>> 
>>         InitialContext ctx = null;
>>         try {
>>             Properties env = new Properties();
>>             env.put("java.naming.factory.initial",
>> "org.apache.openejb.client.RemoteInitialContextFactory");
>>             env.put("java.naming.factory.host", "127.0.0.1");
>>             env.put("java.naming.factory.port", "4201");
>>             env.put("java.naming.security.principal", "system");
>>             env.put("java.naming.security.credentials", "manager");
>>             ctx = new InitialContext(env);
>>             System.out.println("Got Context: " + ctx);
>>         }
>>         catch ( NamingException ne ) {
>>             ne.printStackTrace();
>>         }
>>         String lookupStr = "";
>>         ConferenceCallSchedulerRemote ccsRemote = null;
>>         try{
>>             lookupStr = "ConferenceCallSchedulerLocalLocal";
>>             ccsRemote =
>> (ConferenceCallSchedulerRemote)ctx.lookup(lookupStr);
>>             System.out.println("Worked: " + lookupStr);
>>         }
>>         catch ( NamingException ne ) {
>>             ne.printStackTrace();
>>         }
>> 
>>         try{
>>             lookupStr = "ConferenceCallSchedulerRemote";
>>             ccsRemote =
>> (ConferenceCallSchedulerRemote)ctx.lookup(lookupStr);
>>             System.out.println("Worked: " + lookupStr);
>>         }
>>         catch ( NamingException ne ) {
>>             ne.printStackTrace();
>>         }
>> 
>> And current results:
>> Got Context: javax.naming.InitialContext@157f0dc
>> javax.naming.NameNotFoundException: /ConferenceCallSchedulerLocalLocal
>> does not exist in the system.  Check that the app was successfully
>> deployed.
>>     at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:211)
>>     at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>     at
>> com.chariotsolutions.soalab.ccs.test.RMITest.main(RMITest.java:285)
>> javax.naming.NameNotFoundException: /ConferenceCallSchedulerRemote does
>> not exist in the system.  Check that the app was successfully deployed.
>>     at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:211)
>>     at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>     at
>> com.chariotsolutions.soalab.ccs.test.RMITest.main(RMITest.java:294)
>> 
>> 
>> 
>> Mohammad Nour El-Din wrote:
>>> 
>>> Hi Tom...
>>> 
>>> Would you please try ConferenceCallSchedulerRemote and
>>> ConferenceCallSchedulerLocalLocal. Notice the name by which you lookup
>>> the
>>> local business interface, it has an extra Local postfix. BTW can you
>>> send
>>> the properties you give to the initial context.
>>> 
>>> On 2/22/07, Tom Purcell <tpurcell@chariotsolutions.com> wrote:
>>> 
>>>>
>>>> Hello
>>>>
>>>> Thanks for the response. Here's my bean and the interfaces:
>>>>
>>>> @Stateless
>>>> public class ConferenceCallSchedulerBean implements
>>>> ConferenceCallSchedulerLocal, ConferenceCallSchedulerRemote{
>>>>    <methods>
>>>> {
>>>>
>>>> @Local
>>>> public interface ConferenceCallSchedulerLocal{
>>>>    <methods>
>>>> {
>>>>
>>>> @Remote
>>>> public interface ConferenceCallSchedulerRemote{
>>>>    <methods>
>>>> {
>>>>
>>>> Here are the look up strings I tried:
>>>>            lookupStr =
>>>>
>>>> "java:comp/env/com.chariotsolutions.soalab.ccs.ejb.ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr =
>>>> "java:comp/env/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:comp/env/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:comp/env/ConferenceCallScheduler";
>>>>            lookupStr =
>>>> "com.chariotsolutions.soalab.ccs.ejb.ConferenceCallScheduler
>>>> /ConferenceCallSchedulerRemote";
>>>>            lookupStr =
>>>> "ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "ConferenceCallSchedulerRemote";
>>>>            lookupStr = "ConferenceCallScheduler";
>>>>            lookupStr =
>>>>
>>>> "java:comp/com.chariotsolutions.soalab.ccs.ejb.ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr =
>>>> "java:comp/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:comp/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:comp/ConferenceCallScheduler";
>>>>            lookupStr =
>>>>
>>>> "java:/com.chariotsolutions.soalab.ccs.ejb.ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr =
>>>> "java:/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:/ConferenceCallScheduler";
>>>>
>>>> I also tried a bean definition that looked like this:
>>>>
>>>> @Stateless(name="ConferenceCallScheduler",
>>>> mappedName="ejb/ConferenceCallScheduler")
>>>> public class ConferenceCallSchedulerBean implements
>>>> ConferenceCallSchedulerLocal, ConferenceCallSchedulerRemote{
>>>>    <methods>
>>>> {
>>>>
>>>> With these lookups:
>>>>            lookupStr =
>>>> "java:comp/env/ejb/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:comp/env/ejb/ConferenceCallScheduler";
>>>>            lookupStr =
>>>> "java:comp/ejb/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:comp/ejb/ConferenceCallScheduler";
>>>>            lookupStr =
>>>> "java:/ejb/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "java:/ejb/ConferenceCallScheduler";
>>>>            lookupStr =
>>>> "ejb/ConferenceCallScheduler/ConferenceCallSchedulerRemote";
>>>>            lookupStr = "ejb/ConferenceCallScheduler";
>>>>
>>>> Thanks
>>>> Tom
>>>>
>>>>
>>>>
>>>> Mohammad Nour El-Din wrote:
>>>> >
>>>> > Hi Tom...
>>>> >
>>>> > What combinations you have used ? does this EJB supports EJB2.1 home
>>>> and
>>>> > object interfaces or EJB3.0 business interface(s) ?
>>>> >
>>>> >
>>>> >
>>>> > On 2/22/07, Tom Purcell <tpurcell@chariotsolutions.com> wrote:
>>>> >
>>>> >>
>>>> >> Hello
>>>> >>
>>>> >> I have created an EJB3 stateless session bean using annotations
(no
>>>> >> deployment descriptors) and packed it into a jar and packed the
jar
>>>> into
>>>> >> an
>>>> >> ear (there is no web app yet and, therefore, no war). The ear
>>>> >> successfully
>>>> >> deploys to a Geronimo/Tomcat 2.0-M2 server.
>>>> >>
>>>> >> The problem I'm having is in the lookup from my client. I'm new
to
>>>> >> OpenEJB
>>>> >> and Geronimo but not to EJB. I'm setting properties, giving them
to
>>>> the
>>>> >> InitialContext and doing a lookup. But a lookup on what? What is
the
>>>> >> format
>>>> >> for the JNDI name I wnat to find? I've tried a number of
>>>> combinations
>>>> >> with
>>>> >> no luck.
>>>> >>
>>>> >> Thanks
>>>> >> Tom
>>>> >> --
>>>> >> View this message in context:
>>>> >>
>>>> http://www.nabble.com/InitialContext-JNDI-Lookup-tf3273209s2756.html#a9101357
>>>> >> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>> > --
>>>> > Thanks
>>>> > - Mohammad Nour
>>>> >
>>>> >
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/InitialContext-JNDI-Lookup-tf3273209s2756.html#a9101836
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>> 
>>> 
>>> -- 
>>> Thanks
>>> - Mohammad Nour
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/InitialContext-JNDI-Lookup-tp9101357p15173897.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Mime
View raw message