Currently I am using this for JBoss, but I need something also for an external Tomcat:
Properties props = new Properties();
props.put(Context.PROVIDER_URL, \
I found this helpful link for using in Tomcat: EJB in Jboss called from Tomcat
It seems to be stupid, but in fact the approach in that topic is good enough to be considered. The main idea is here: The Tomcat server has its own JNDI system, so that an inside web-app must declare the JNDI they want to use first, then use that declaration to lookup the remote server's object (Jboss' EJB).
Hope that helps you,
Regards,
As far as I know, tomcat doe not support remote access to its JNDI tree, so you can access it only from the tomcat process. Because of that, The tomcat sets all the initialization params for the default InitialConext, and you can use it like this:
// Obtain our environment naming context
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// Look up our data source
DataSource ds = (DataSource)
envCtx.lookup("jdbc/EmployeeDB");
// Allocate and use a connection from the pool
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();
You can also learn more of the JNDI in tomcat in this link