Hi,
I'm using a Tomcat (3.3) with the J2EESDK(1.3) reference.
I think you have to specify a JNDI-name for the EJB (I don't know, if you
have done that?) and lookup for this name???!
I think the INITIAL_CONTEXT_FACTORY is declared in the file jndi.properties
under lib\classes in J2EE-reference
My problem is to get an Initial Context in the servlet in the tomcat.
Is there any trick, you know?
Gru�
Michael
--
Java - write once, run anywhere
***
From: Bryan Basham
Subject: integrating Web tier (Tomcat v4.0b1) with an EJB tier (RI v1.2)
Date: Thu, 5 Apr 2001 10:39:37 -0600 (MDT)
Hello Tomcat Users,
I am trying to integrate my Web tier with an EJB tier using the
Business
Delegate pattern. I am having a problem on the Web tier side doing
the
JNDI lookup on the remote EJB server. ***A very important note: I
am using
Tomcat (v4.0b1) independently of the EJB tier (using the J2EESDK
reference
implementation v1.2.1); that is, I am *not* deploying my Web app in
the
J2EE server.***
I have the JNDI port on 1052 and the bean is named:
java:comp/env/leagueService
Here is the J2EE statup response:
-----------------
Naming service started: :1052
Published the configuration object ...
Web service started: 9191
Web service started: 8000
Web service started: 7000
Loading
jar:/usr/local/j2sdkee1.2.1/repository/basham/applications/SportsLeague9835
69674
255Server.jar
/usr/local/j2sdkee1.2.1/repository/basham/applications/SportsLeague98356967
4255S
erver.jar
Binding name:`java:comp/env/leagueService`
Binding name:`java:comp/env/jdbc/SportsLeagueDB`
Looking up authenticator...
Binding name:`java:comp/env/jdbc/SportsLeagueDB`
J2EE server startup complete.
-----------------
On each HTTP request my servlet constructs a new LeagueDelegate
object.
In the constructor, the delegate is doing the JNDI lookup on the
leagueService
Home interface. Here is that constructor:
-----------------
public LeagueDelegate() {
System.out.println(">> Entering LeagueDelegate constructor");
try {
Hashtable ctxProperties = new Hashtable();
// ctxProperties.put(Context.INITIAL_CONTEXT_FACTORY,
// "???");
ctxProperties.put(Context.PROVIDER_URL,
"basham:1052");
System.out.println(">> creating intial context");
Context c = new InitialContext(ctxProperties);
System.out.println(">> looking up
java:comp/env/leagueService");
Object result = c.lookup("java:comp/env/leagueService");
System.out.println(">> narrowing the leagueService Home");
leagueSvcHome
= (LeagueSessionHome)
PortableRemoteObject.narrow(result, LeagueSessionHome.class);
} catch (Exception e) {
System.out.println(e);
}
System.out.println("Exiting LeagueDelegate constructor");
}
-----------------
This is an excerpt from the Tomcat log file:
-----------------
LeagueAdminController: init
>> Entering LeagueDelegate constructor
>> creating intial context
>> looking up java:comp/env/leagueService
javax.naming.NameNotFoundException: Name leagueService is not bound
in this
Context
Exiting LeagueDelegate constructor
-----------------
I have tried several variations on the JNDI name ('leagueService',
'java:leagueService', 'java:ejb/leagueService'). Nothing seems to
work.
Also, I tried to figure out what to use for the
INITIAL_CONTEXT_FACTORY,
but nothing I tried seemed to help.
Please let me know if you have any ideas I should try.
Thanks,
Bryan
+---------------------------------------
+--------------------------------------+
| Bryan Basham | "You are not an isolated
entity, but
| Java Courseware Developer | a unique, irreplaceable
part of the
| Sun Educational Services | cosmos. Don't forget
this. You are
| Phone: 1-303-272-8766 (x78766) | an essential piece of the
puzzle of
| E-mail: [EMAIL PROTECTED] | humanity."
| Address: 500 Eldorado Blvd |
| MailStop: UBRM05-135 | -- The Art of Living,
Epictetus
| Broomfield, CO 80021 | (trans. Sharon Lebell)
+---------------------------------------
+--------------------------------------+