jndi question
I have tried for several hours now to get connection pooling for my MySql database to work, but have been unable to do so. I keep getting this error: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.commons.dbcp.BasicDataSourceFactory I checked to make sure this class was in my classpath: [shell]# javap org.apache.commons.dbcp.BasicDataSourceFactory Compiled from "BasicDataSourceFactory.java" public class org.apache.commons.dbcp.BasicDataSourceFactory extends java.lang.Object implements javax.naming.spi.ObjectFactory{ public org.apache.commons.dbcp.BasicDataSourceFactory(); public java.lang.Object getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable) throws java.lang.Exception; public static javax.sql.DataSource createDataSource(java.util.Properties) throws java.lang.Exception; static {}; } I set up my jndi datasource using the admin module. Here's how it wrote out my server.xml file: className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/> /usr/local/tomcat/server/conf/context.xml WEB-INF/web.xml Here's what's in my web.xml file: DB Connection jdbc/appname javax.sql.DataSource Container It's bombing out on this code: Properties p=new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.commons.dbcp.BasicDataSourceFactory"); p.put(Context.PROVIDER_URL,"jdbc:mysql://localhost:3306"); Context initCtx = new InitialContext(p); // here's where it dies Can someone please help me, or at least point me in the direction of some documentation that I've missed? I've searched google and every other search engine I can think of. Thanks in advance. Sean Rowe - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tomcat 5.5.9 not recompiling JSPs
I saw this just today. I did some digging and realized that my application context file, usually found under $ CATALNA_HOME/conf/Catalina/localhost was messed up. After I fixed whatever problem it was, I was able to deploy again. Michal Kwiatek wrote: Hello, I have a problem with tomcat 5.5.9 - for some reason tomcat does not recompile JSPs after I redeploy the application using manager application. There's no error message in the logs, tomcat has write access to work directory and it compiles new jsps. It simply does not recompile the existing ones. Have you seen such behaviour in the past? Thanks in advance, Michal. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jndi question
Thanks for responding Dirk. I've practically memorized the documentation on the link you sent: // 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(); Whenever I try this, here's what I get (which led me to trying it the way I posted): javax.naming.NameNotFoundException: Name java:comp is not bound in this Context Any ideas? Thanks again. Sean Dirk Weigenand wrote: Hi Sean, --- Ursprüngliche Nachricht --- Von: Sean Rowe <[EMAIL PROTECTED]> An: tomcat-user@jakarta.apache.org Betreff: jndi question Datum: Mon, 22 Aug 2005 01:26:49 -0500 I have tried for several hours now to get connection pooling for my MySql database to work, but have been unable to do so. I keep getting this error: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.commons.dbcp.BasicDataSourceFactory It's bombing out on this code: Properties p=new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.commons.dbcp.BasicDataSourceFactory"); p.put(Context.PROVIDER_URL,"jdbc:mysql://localhost:3306"); Context initCtx = new InitialContext(p); // here's where it dies You're mixing up some concepts here. Context.INITIAL_CONTEXT_FACTORY is meant to provide the name of a factory producing JNDI contexts, not a factory for producing JDBC DataSources. The same goes for the next line of code. Context.PROVIDER_URL is not used for providing information about a database connection. There is extensive documentation on the tomcat web site regarding JNDI ressource configuration. Have a look at the following URL: http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources-howto.html Can someone please help me, or at least point me in the direction of some documentation that I've missed? I've searched google and every other search engine I can think of. Thanks in advance. Sean Rowe Regards Dirk - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Use port 443 as non-ssl
I don't think so. The operating system (i think) encrypts that port as a standard. just curiouswhy not use one of the other 65534 ports out there? [EMAIL PROTECTED] wrote: Hi, I need to use the tomcat with a non - ssl connector on port 443. Up to now, no success. Is there a way to use the 443 in a non-ssl? Im not using the ssl (it is between ). Thanks - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jndi question
Hi Dirk, Thanks again for responding. I have tried putting this into it's own context file. For my latest attempt, I have created the data source using the admin module, and it rewrote my server.xml file for me, so I'm assuming it's in there correctly. No matter how I do it ( and i really have followed the directions in the link you gave me), I can't seem to get it to work. I must be missing something, but I can't seem to find it. Dirk Weigenand wrote: Sean, --- Ursprüngliche Nachricht --- Von: Sean Rowe <[EMAIL PROTECTED]> An: Tomcat Users List Betreff: Re: jndi question Datum: Mon, 22 Aug 2005 09:24:10 -0500 Thanks for responding Dirk. I've practically memorized the documentation on the link you sent: // 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(); Whenever I try this, here's what I get (which led me to trying it the way I posted): javax.naming.NameNotFoundException: Name java:comp is not bound in this Context No. Did you look at http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-datasource-examples-howto.html? I recommend putting the context definition in its own content.xml. On redeploying my application tomcat wouldn't find the driver class anymore. Mind you not the class itself but the definition of what class to load. This problem was solved by putting the context into context.xml. regards Dirk - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Use port 443 as non-ssl
i just assumed, which was why i said 'i think'. i offer no guarantees about anything that comes out of my mouth. ;) sean Markus Schönhaber wrote: Am Montag, 22. August 2005 17:43 schrieb Sean Rowe: I don't think so. The operating system (i think) encrypts that port as a standard. Where did you get that information? To the OS, a port is a port - regardless of it's number. The only "magic" regarding port numbers is that Unix-like system only let applications running in the superuser's context bind to ports with numbers lower than 1024. Regards mks - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jndi question
Dirk, I'm sorry I didn't see the difference on the page you sent me to. However, if there is a way I can do this without having to use jstl, I would really like to know. I was hoping to put the code in a class somewhere that my servlets could use. thanks, sean Dirk Weigenand wrote: Sean, --- Ursprüngliche Nachricht --- Von: Sean Rowe <[EMAIL PROTECTED]> An: Tomcat Users List Betreff: Re: jndi question Datum: Mon, 22 Aug 2005 09:24:10 -0500 Thanks for responding Dirk. I've practically memorized the documentation on the link you sent: // 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(); Whenever I try this, here's what I get (which led me to trying it the way I posted): javax.naming.NameNotFoundException: Name java:comp is not bound in this Context No. Did you look at http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-datasource-examples-howto.html? I recommend putting the context definition in its own content.xml. On redeploying my application tomcat wouldn't find the driver class anymore. Mind you not the class itself but the definition of what class to load. This problem was solved by putting the context into context.xml. regards Dirk - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jndi question
Brian, thank you for replying. I was afraid my topic was dead. If you could look at my first post, I listed all the files that you have suggested I take a look at. I have done everything you have suggested, but am still getting errors. The error I am getting now is javax.naming.NameNotFoundException: Name java:comp is not bound in this Context I can't find anything on the net or in any books I've looked at that explains this. As far as I can tell, java:comp should just be there. Any ideas? Thanks again. Sean Brian Cook wrote: Yes you can use JNDI with out using JSTL. But the only way to configure it is to define the JNDI resources in the web.xml and context.xml files.Technically you should be able to use the globally defined JNDI resources in server.xml, and I have seen configuration set ups doing it when googling. But could never get them to work. This highlights another area of seemingly unneeded complication in Java/Unix development. Using JNDI for data sources which was supposed to help you save time requires that you redundantly define the JNDI resource in at lest 2 if not 3 places. The admin tool which was also supposed to help save time defines the JNDI resources in server.xml which does not really seem to be all that helpful. I am sure there is likely a reason for this but I am ignorant of it. The admin tool is also supposed to let you define JNDI resources per context but it errors out when ever I have tried it. My experience with the Tomcat Admin and Manager tools is that they are worthless. Of the few steps they try to help with more often that not they just return errors when you need to use it. I removed them both and have gone back to doing set ups manually and there has not been much of a time difference doing it this way. Any way for JNDI to work you will have to add the definition for it in both web.xml and context.xml in the <Folder>>/conf/Catalina/localhost/ folder. This seems counter productive since it makes your app less portable having the data base configuration details inside the context and by extent the WAR file but it is what you have to do to get it to work right now. I feel your pain I know it is frustrating spending hours debugging just the DB connection but todate that is the reality of Java web app development. It is why I fear we will all be .Net developers some day. Example : http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources-howto.html Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); Connection conn = ds.getConnection(); ... use this connection to access the database ... conn.close(); Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file. jdbc/EmployeeDB javax.sql.DataSource Container driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database" maxActive="8" maxIdle="4"/> Sean Rowe wrote: Dirk, I'm sorry I didn't see the difference on the page you sent me to. However, if there is a way I can do this without having to use jstl, I would really like to know. I was hoping to put the code in a class somewhere that my servlets could use. thanks, sean Dirk Weigenand wrote: Sean, --- Ursprüngliche Nachricht --- Von: Sean Rowe <[EMAIL PROTECTED]> An: Tomcat Users List Betreff: Re: jndi question Datum: Mon, 22 Aug 2005 09:24:10 -0500 Thanks for responding Dirk. I've practically memorized the documentation on the link you sent: // 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(); Whenever I try this, here's what I get (which led me to trying it the way I posted): javax.naming.NameNotFoundException: Name java:comp is not bound in this Context No. Did you look at http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-datasource-examples-howto.html? I recommend putting the context definition in its own content.xml. On redeploying my application tomcat wouldn't find the driver class anymore. Mind you not the class itself but the definition of what class to load. This problem was solved by putting the context into context.xml. regards Dirk
Re: jndi question
no, that didn't help. thanks though. could this maybe be a class problem? am i using the wrong jar files? i can list the files i'm using if anyone thinks it might be the problem Allistair Crossley wrote: Hi, The documentation says; Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); However, we use; try { Context ctx = new InitialContext(); dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/yourdb"); } catch (NamingException nE) { // log somewhere } catch (NullPointerException npE) { // log somewhere } Does that work for you? Allistair -----Original Message- From: Sean Rowe [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 16:29 To: Tomcat Users List Subject: Re: jndi question Brian, thank you for replying. I was afraid my topic was dead. If you could look at my first post, I listed all the files that you have suggested I take a look at. I have done everything you have suggested, but am still getting errors. The error I am getting now is javax.naming.NameNotFoundException: Name java:comp is not bound in this Context I can't find anything on the net or in any books I've looked at that explains this. As far as I can tell, java:comp should just be there. Any ideas? Thanks again. Sean Brian Cook wrote: Yes you can use JNDI with out using JSTL. But the only way to configure it is to define the JNDI resources in the web.xml and context.xml files.Technically you should be able to use the globally defined JNDI resources in server.xml, and I have seen configuration set ups doing it when googling. But could never get them to work. This highlights another area of seemingly unneeded complication in Java/Unix development. Using JNDI for data sources which was supposed to help you save time requires that you redundantly define the JNDI resource in at lest 2 if not 3 places. The admin tool which was also supposed to help save time defines the JNDI resources in server.xml which does not really seem to be all that helpful. I am sure there is likely a reason for this but I am ignorant of it. The admin tool is also supposed to let you define JNDI resources per context but it errors out when ever I have tried it. My experience with the Tomcat Admin and Manager tools is that they are worthless. Of the few steps they try to help with more often that not they just return errors when you need to use it. I removed them both and have gone back to doing set ups manually and there has not been much of a time difference doing it this way. Any way for JNDI to work you will have to add the definition for it in both web.xml and context.xml in the <Folder>>/conf/Catalina/localhost/ folder. This seems counter productive since it makes your app less portable having the data base configuration details inside the context and by extent the WAR file but it is what you have to do to get it to work right now. I feel your pain I know it is frustrating spending hours debugging just the DB connection but todate that is the reality of Java web app development. It is why I fear we will all be .Net developers some day. Example : http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); Connection conn = ds.getConnection(); ... use this connection to access the database ... conn.close(); Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file. jdbc/EmployeeDB javax.sql.DataSource Container driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database" maxActive="8" maxIdle="4"/> Sean Rowe wrote: Dirk, I'm sorry I didn't see the difference on the page you sent me to. However, if there is a way I can do this without having to use jstl, I would really like to know. I was hoping to put the code in a class somewhere that my servlets could use. thanks, sean Dirk Weigenand wrote: Sean, --- Ursprüngliche Nachricht --- Von: Sean Rowe <[EMAIL PROTECTED]> An: Tomcat Users List Betreff: Re: jndi question Datum: Mon, 22 Aug 2005 09:24:10 -0500 Thanks for responding Dirk. I've practically memorized the documentation on the link you sent: // Obtain our environment
Re: jndi question
thank you, i will Allistair Crossley wrote: If you could please send 1. server.xml 2. web.xml 3. context.xml or yourwebapp.xml 4. list of files in common/lib 5. list of files in yourwebapp/WEB-INF/lib I'd be happy to see if I can spot anything. -Original Message- From: Sean Rowe [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 16:41 To: Tomcat Users List Subject: Re: jndi question no, that didn't help. thanks though. could this maybe be a class problem? am i using the wrong jar files? i can list the files i'm using if anyone thinks it might be the problem Allistair Crossley wrote: Hi, The documentation says; Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); However, we use; try { Context ctx = new InitialContext(); dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/yourdb"); } catch (NamingException nE) { // log somewhere } catch (NullPointerException npE) { // log somewhere } Does that work for you? Allistair -Original Message- From: Sean Rowe [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 16:29 To: Tomcat Users List Subject: Re: jndi question Brian, thank you for replying. I was afraid my topic was dead. If you could look at my first post, I listed all the files that you have suggested I take a look at. I have done everything you have suggested, but am still getting errors. The error I am getting now is javax.naming.NameNotFoundException: Name java:comp is not bound in this Context I can't find anything on the net or in any books I've looked at that explains this. As far as I can tell, java:comp should just be there. Any ideas? Thanks again. Sean Brian Cook wrote: Yes you can use JNDI with out using JSTL. But the only way to configure it is to define the JNDI resources in the web.xml and context.xml files.Technically you should be able to use the globally defined JNDI resources in server.xml, and I have seen configuration set ups doing it when googling. But could never get them to work. This highlights another area of seemingly unneeded complication in Java/Unix development. Using JNDI for data sources which was supposed to help you save time requires that you redundantly define the JNDI resource in at lest 2 if not 3 places. The admin tool which was also supposed to help save time defines the JNDI resources in server.xml which does not really seem to be all that helpful. I am sure there is likely a reason for this but I am ignorant of it. The admin tool is also supposed to let you define JNDI resources per context but it errors out when ever I have tried it. My experience with the Tomcat Admin and Manager tools is that they are worthless. Of the few steps they try to help with more often that not they just return errors when you need to use it. I removed them both and have gone back to doing set ups manually and there has not been much of a time difference doing it this way. Any way for JNDI to work you will have to add the definition for it in both web.xml and context.xml in the <Folder>>/conf/Catalina/localhost/ folder. This seems counter productive since it makes your app less portable having the data base configuration details inside the context and by extent the WAR file but it is what you have to do to get it to work right now. I feel your pain I know it is frustrating spending hours debugging just the DB connection but todate that is the reality of Java web app development. It is why I fear we will all be .Net developers some day. Example : http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); Connection conn = ds.getConnection(); ... use this connection to access the database ... conn.close(); Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file. jdbc/EmployeeDB javax.sql.DataSource Container driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database" maxActive="8" maxIdle="4"/>
Re: jndi question
The first post on this included the server.xml, and further down in the page is the relevant part of web.xml ( i just double checked that ). as for context.xml, i have listed it in my webapp.xml file, as well as server.xml as all other examples have suggested. i then tried it in the admin module, where it then put it in server.xml for me. i'm willing to try anything at this point, though, if you have any suggestions. as for my post not being jndi specific, i applogize if that's the case. i'm not really familiar with jndibut when I did a search for 'connection pooling', jndi seemed to be what everyone suggested i use. what i want to do, if it's not clear, is to create a connection pool to my MySql database. thanks, sean Brian Cook wrote: Actually the files I listed are NOT in the first post. It shows the server.xml and the code calling it but does not show web.xml or context.xml. The error you are getting just means that that the JNDI resource being called in the code is not defined in both web.xml and context.xml. In looking at the code snip it in the first post I am not following what you are trying to do. The post is for a JNDI question but in the code it looks like you are calling the DB URL directly. The whole point of JDNI being to get specific URL, and configuration info outside of the code base. I am not following what it is you are trying to do here. Sean Rowe wrote: Brian, thank you for replying. I was afraid my topic was dead. If you could look at my first post, I listed all the files that you have suggested I take a look at. I have done everything you have suggested, but am still getting errors. The error I am getting now is javax.naming.NameNotFoundException: Name java:comp is not bound in this Context I can't find anything on the net or in any books I've looked at that explains this. As far as I can tell, java:comp should just be there. Any ideas? Thanks again. Sean Brian Cook wrote: Yes you can use JNDI with out using JSTL. But the only way to configure it is to define the JNDI resources in the web.xml and context.xml files.Technically you should be able to use the globally defined JNDI resources in server.xml, and I have seen configuration set ups doing it when googling. But could never get them to work. This highlights another area of seemingly unneeded complication in Java/Unix development. Using JNDI for data sources which was supposed to help you save time requires that you redundantly define the JNDI resource in at lest 2 if not 3 places. The admin tool which was also supposed to help save time defines the JNDI resources in server.xml which does not really seem to be all that helpful. I am sure there is likely a reason for this but I am ignorant of it. The admin tool is also supposed to let you define JNDI resources per context but it errors out when ever I have tried it. My experience with the Tomcat Admin and Manager tools is that they are worthless. Of the few steps they try to help with more often that not they just return errors when you need to use it. I removed them both and have gone back to doing set ups manually and there has not been much of a time difference doing it this way. Any way for JNDI to work you will have to add the definition for it in both web.xml and context.xml in the <Folder>>/conf/Catalina/localhost/ folder. This seems counter productive since it makes your app less portable having the data base configuration details inside the context and by extent the WAR file but it is what you have to do to get it to work right now. I feel your pain I know it is frustrating spending hours debugging just the DB connection but todate that is the reality of Java web app development. It is why I fear we will all be .Net developers some day. Example : http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources-howto.html Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); Connection conn = ds.getConnection(); ... use this connection to access the database ... conn.close(); Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file. jdbc/EmployeeDB javax.sql.DataSource Container driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database" maxActive="8" maxIdle="4"/> Sean Rowe wrote: Dirk, I'm sorry I didn't see the difference on the page you sent me to. However, if there is a way I can do this without having to use jstl, I would really like to know. I was hoping to put the c
Re: jndi question
i will try that. thanks allistair, i really do appreciate this Allistair Crossley wrote: Hi Sean, It looks from a quick glance that your JNDI configuration is done globally, rather than in the Context configuration, and you do not link to it using a ResourceLink. Try adding Into the Context block, and remove the Resource block you have in there. The other thing to try would be to move the JNDI datasource Resource configuration block into the Context block. See how you get on, Allistair. -Original Message- From: Sean Rowe [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 16:45 To: Tomcat Users List Subject: Re: jndi question thank you, i will Allistair Crossley wrote: If you could please send 1. server.xml 2. web.xml 3. context.xml or yourwebapp.xml 4. list of files in common/lib 5. list of files in yourwebapp/WEB-INF/lib I'd be happy to see if I can spot anything. -Original Message- From: Sean Rowe [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 16:41 To: Tomcat Users List Subject: Re: jndi question no, that didn't help. thanks though. could this maybe be a class problem? am i using the wrong jar files? i can list the files i'm using if anyone thinks it might be the problem Allistair Crossley wrote: Hi, The documentation says; Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); However, we use; try { Context ctx = new InitialContext(); dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/yourdb"); } catch (NamingException nE) { // log somewhere } catch (NullPointerException npE) { // log somewhere } Does that work for you? Allistair -Original Message- From: Sean Rowe [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 16:29 To: Tomcat Users List Subject: Re: jndi question Brian, thank you for replying. I was afraid my topic was dead. If you could look at my first post, I listed all the files that you have suggested I take a look at. I have done everything you have suggested, but am still getting errors. The error I am getting now is javax.naming.NameNotFoundException: Name java:comp is not bound in this Context I can't find anything on the net or in any books I've looked at that explains this. As far as I can tell, java:comp should just be there. Any ideas? Thanks again. Sean Brian Cook wrote: Yes you can use JNDI with out using JSTL. But the only way to configure it is to define the JNDI resources in the web.xml and context.xml files.Technically you should be able to use the globally defined JNDI resources in server.xml, and I have seen configuration set ups doing it when googling. But could never get them to work. This highlights another area of seemingly unneeded complication in Java/Unix development. Using JNDI for data sources which was supposed to help you save time requires that you redundantly define the JNDI resource in at lest 2 if not 3 places. The admin tool which was also supposed to help save time defines the JNDI resources in server.xml which does not really seem to be all that helpful. I am sure there is likely a reason for this but I am ignorant of it. The admin tool is also supposed to let you define JNDI resources per context but it errors out when ever I have tried it. My experience with the Tomcat Admin and Manager tools is that they are worthless. Of the few steps they try to help with more often that not they just return errors when you need to use it. I removed them both and have gone back to doing set ups manually and there has not been much of a time difference doing it this way. Any way for JNDI to work you will have to add the definition for it in both web.xml and context.xml in the <Folder>>/conf/Catalina/localhost/ folder. This seems counter productive since it makes your app less portable having the data base configuration details inside the context and by extent the WAR file but it is what you have to do to get it to work right now. I feel your pain I know it is frustrating spending
Re: jndi question
I will try all 3 once again, and provide screen shots of the errors I see. I have tried these methods before, but I will try them again for a sanity check. sean Allistair Crossley wrote: Hi, He isn't using that method of configuration, that's just 1 option of 3. He is nesting his Context definition within the server.xml Host element. Although this is now scorned, it's still valid. The 2 other methods are contextname.xml as you say, and also META-INF/context.xml within the webapp itself. Allistair. -Original Message- From: Brian Cook [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 17:23 To: Tomcat Users List Subject: Re: jndi question Ok but do you have the resource defined in context.xml? If you go to <>/conf/Cataliana/localhost/ do you see a file with the name of the module ending with .xml? If so is the resource defined in that file? If not you need to add it. From the description it sounds like nothing in this set up has been done as was show on the example page. http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html If you use the code block that is shown, define that resource in web.xml and context.xml it will work. But multiple postings latter it still sounds like the JNDI resource is not defined in context.xml and the code calling the JNDI resource differs greatly from the example provided. Sean Rowe wrote: The first post on this included the server.xml, and further down in the page is the relevant part of web.xml ( i just double checked that ). as for context.xml, i have listed it in my webapp.xml file, as well as server.xml as all other examples have suggested. i then tried it in the admin module, where it then put it in server.xml for me. i'm willing to try anything at this point, though, if you have any suggestions. as for my post not being jndi specific, i applogize if that's the case. i'm not really familiar with jndibut when I did a search for 'connection pooling', jndi seemed to be what everyone suggested i use. what i want to do, if it's not clear, is to create a connection pool to my MySql database. thanks, sean Brian Cook wrote: Actually the files I listed are NOT in the first post. It shows the server.xml and the code calling it but does not show web.xml or context.xml. The error you are getting just means that that the JNDI resource being called in the code is not defined in both web.xml and context.xml. In looking at the code snip it in the first post I am not following what you are trying to do. The post is for a JNDI question but in the code it looks like you are calling the DB URL directly. The whole point of JDNI being to get specific URL, and configuration info outside of the code base. I am not following what it is you are trying to do here. Sean Rowe wrote: Brian, thank you for replying. I was afraid my topic was dead. If you could look at my first post, I listed all the files that you have suggested I take a look at. I have done everything you have suggested, but am still getting errors. The error I am getting now is javax.naming.NameNotFoundException: Name java:comp is not bound in this Context I can't find anything on the net or in any books I've looked at that explains this. As far as I can tell, java:comp should just be there. Any ideas? Thanks again. Sean Brian Cook wrote: Yes you can use JNDI with out using JSTL. But the only way to configure it is to define the JNDI resources in the web.xml and context.xml files.Technically you should be able to use the globally defined JNDI resources in server.xml, and I have seen configuration set ups doing it when googling. But could never get them to work. This highlights another area of seemingly unneeded complication in Java/Unix development. Using JNDI for data sources which was supposed to help you save time requires that you redundantly define the JNDI resource in at lest 2 if not 3 places. The admin tool which was also supposed to help save time defines the JNDI resources in server.xml which does not really seem to be all that helpful. I am sure there is likely a reason for this but I am ignorant of it. The admin tool is also supposed to let you define JNDI resources per context but it errors out when ever I have tried it. My experience with the Tomcat Admin and Manager tools is that they are worthless. Of the few steps they try to help with more ofte
Re: jndi question
I have tried again using the method described in the url brian gave. Here is the stack exception I'm receiving: *type* Exception report *message* *description* _The server encountered an internal error () that prevented it from fulfilling this request._ *exception* javax.servlet.ServletException: Name java:comp is not bound in this Context org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *root cause* javax.naming.NameNotFoundException: Name java:comp is not bound in this Context org.apache.naming.NamingContext.lookup(NamingContext.java:769) org.apache.naming.NamingContext.lookup(NamingContext.java:152) javax.naming.InitialContext.lookup(InitialContext.java:351) com.transcriptionportal.utils.DBManager.init(DBManager.java:25) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:53) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I have enclosed my server.xml, web.xml, context.xml (that i placed in my web/META-INF folder), and the class I'm using to make the connection. Thanks again to everyone who has helped me so far. sean Allistair Crossley wrote: Hi, He isn't using that method of configuration, that's just 1 option of 3. He is nesting his Context definition within the server.xml Host element. Although this is now scorned, it's still valid. The 2 other methods are contextname.xml as you say, and also META-INF/context.xml within the webapp itself. Allistair. -Original Message- From: Brian Cook [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 17:23 To: Tomcat Users List Subject: Re: jndi question Ok but do you have the resource defined in context.xml? If you go to <>/conf/Cataliana/localhost/ do you see a file with the name of the module ending with .xml? If so is the resource defined in that file? If not you need to add it. From the description it sounds like nothing in this set up has been done as was show on the example page. http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html If you use the code block that is shown, define that resource in web.xml and context.xml it will work. But multiple postings latter it still sounds like the JNDI resource is not defined in context.xml and the code calling the JNDI resource differs greatly from the example provided. Sean Rowe wrote: The first post on this included the server.xml, and further down in the page is the relevant part of web.xml ( i just double checked that ). as for context.xml, i have listed it in my webapp.xml file, as well as server.xml as all other examples have suggested. i then tried it in the admin module, where it then put it in server.xml for me. i'm willing to try anything at this point, though, if you have any suggestions. as for my post not being jndi specific, i applogize if that's the case. i'm not really familiar with jndibut when I did a search for 'connection pooling', jndi seemed to be what everyone suggested i use. what i want to do, if it's not clear, is to create a connection pool to my MySql database. thanks, sean Brian Cook wrote: Actually the files I listed are NOT in the first post. It shows the server.xml and the code calling it but does not show web.xml or context.xml. The error you are getting just means that that the JNDI resource being called in the code is not defined in both web.xml and context.xml. In looking at the code snip it in the first post I am not following what you are trying to do. The post is for a JNDI question but in the code it looks like you are calling the DB URL directly. The whole point of JDNI being to get specific URL, and configuration info outside of
Re: jndi question
yes, there is a file in the /conf/Catalina/localhost directory for my app Brian Cook wrote: Sean, One thing that stands out in your message is that the conext.xml file was placed in the META-INF folder. Is it also in <Folder>>/conf/Catalina/localhost/ as the module name? i.e. If the context path name of your webapp is "/seansApp" the context.xml file should appear in this folder as seansApp.xml. The context.xml file is stored in META-INF during development but needs to be placed in <>/conf/Catalina/localhost/ folder for deployment with the file name of the context path. Sean Rowe wrote: I have tried again using the method described in the url brian gave. Here is the stack exception I'm receiving: *type* Exception report *message* *description* _The server encountered an internal error () that prevented it from fulfilling this request._ *exception* javax.servlet.ServletException: Name java:comp is not bound in this Context org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *root cause* javax.naming.NameNotFoundException: Name java:comp is not bound in this Context org.apache.naming.NamingContext.lookup(NamingContext.java:769) org.apache.naming.NamingContext.lookup(NamingContext.java:152) javax.naming.InitialContext.lookup(InitialContext.java:351) com.transcriptionportal.utils.DBManager.init(DBManager.java:25) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:53) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I have enclosed my server.xml, web.xml, context.xml (that i placed in my web/META-INF folder), and the class I'm using to make the connection. Thanks again to everyone who has helped me so far. sean Allistair Crossley wrote: Hi, He isn't using that method of configuration, that's just 1 option of 3. He is nesting his Context definition within the server.xml Host element. Although this is now scorned, it's still valid. The 2 other methods are contextname.xml as you say, and also META-INF/context.xml within the webapp itself. Allistair. -Original Message- From: Brian Cook [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 17:23 To: Tomcat Users List Subject: Re: jndi question Ok but do you have the resource defined in context.xml? If you go to <>/conf/Cataliana/localhost/ do you see a file with the name of the module ending with .xml? If so is the resource defined in that file? If not you need to add it. From the description it sounds like nothing in this set up has been done as was show on the example page. http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html If you use the code block that is shown, define that resource in web.xml and context.xml it will work. But multiple postings latter it still sounds like the JNDI resource is not defined in context.xml and the code calling the JNDI resource differs greatly from the example provided. Sean Rowe wrote: The first post on this included the server.xml, and further down in the page is the relevant part of web.xml ( i just double checked that ). as for context.xml, i have listed it in my webapp.xml file, as well as server.xml as all other examples have suggested. i then tried it in the admin module, where it then put it in server.xml for me. i'm willing to try anything at this point, though, if you have any suggestions. as for my post not being jndi specific, i applogize if that's the case. i'm not really familiar with jndibut when I did a search for 'connection pooling', jndi seemed to be what everyone suggested i use. what i want to do, if it's not clear, is to create a connection pool to my MySql database. thanks, sean Brian Cook wrote: Actually the files I listed are NOT in the first post. It shows the
Re: jndi question
tomcat 5, and jdk 1.5 Brian Cook wrote: It has probablly already been stated before somewhere in this thread but what versions of Tomcat and JDK are you using? Sean Rowe wrote: yes, there is a file in the /conf/Catalina/localhost directory for my app Brian Cook wrote: Sean, One thing that stands out in your message is that the conext.xml file was placed in the META-INF folder. Is it also in <Folder>>/conf/Catalina/localhost/ as the module name? i.e. If the context path name of your webapp is "/seansApp" the context.xml file should appear in this folder as seansApp.xml. The context.xml file is stored in META-INF during development but needs to be placed in <>/conf/Catalina/localhost/ folder for deployment with the file name of the context path. Sean Rowe wrote: I have tried again using the method described in the url brian gave. Here is the stack exception I'm receiving: *type* Exception report *message* *description* _The server encountered an internal error () that prevented it from fulfilling this request._ *exception* javax.servlet.ServletException: Name java:comp is not bound in this Context org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *root cause* javax.naming.NameNotFoundException: Name java:comp is not bound in this Context org.apache.naming.NamingContext.lookup(NamingContext.java:769) org.apache.naming.NamingContext.lookup(NamingContext.java:152) javax.naming.InitialContext.lookup(InitialContext.java:351) com.transcriptionportal.utils.DBManager.init(DBManager.java:25) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:53) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I have enclosed my server.xml, web.xml, context.xml (that i placed in my web/META-INF folder), and the class I'm using to make the connection. Thanks again to everyone who has helped me so far. sean Allistair Crossley wrote: Hi, He isn't using that method of configuration, that's just 1 option of 3. He is nesting his Context definition within the server.xml Host element. Although this is now scorned, it's still valid. The 2 other methods are contextname.xml as you say, and also META-INF/context.xml within the webapp itself. Allistair. -Original Message- From: Brian Cook [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 17:23 To: Tomcat Users List Subject: Re: jndi question Ok but do you have the resource defined in context.xml? If you go to <>/conf/Cataliana/localhost/ do you see a file with the name of the module ending with .xml? If so is the resource defined in that file? If not you need to add it. From the description it sounds like nothing in this set up has been done as was show on the example page. http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html If you use the code block that is shown, define that resource in web.xml and context.xml it will work. But multiple postings latter it still sounds like the JNDI resource is not defined in context.xml and the code calling the JNDI resource differs greatly from the example provided. Sean Rowe wrote: The first post on this included the server.xml, and further down in the page is the relevant part of web.xml ( i just double checked that ). as for context.xml, i have listed it in my webapp.xml file, as well as server.xml as all other examples have suggested. i then tried it in the admin module, where it then put it in server.xml for me. i'm willing to try anything at this point, though, if you have any suggestions. as for my post not being jndi specific, i applogize if that's the case. i'm not really familiar with jndibut when I did a search for 'connection pooling', jndi seemed to be what everyone suggested i use. what i want to do, if it's no
Re: jndi question
right! sorry, it's 5.5.9 Caldarale, Charles R wrote: From: Sean Rowe [mailto:[EMAIL PROTECTED] Subject: Re: jndi question tomcat 5, and jdk 1.5 Which Tomcat 5? The configuration for the 5.0 series is not necessarily the same as in 5.5. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jndi question
i do have those files. i'll remove them and see what happens. i really appreciate the help. sean Brian Cook wrote: Sean, I copied your code on top of mine and ran it with no problems. So you can probably eliminate the code as the issue. Also since the error is now on the "java:comp" resource and not your JNDI defined resources I think your context.xml and web.xml configuration is correct too. I googled the javax.naming.NameNotFoundException on string "java:comp" I found several postings that mentioned they fixed it by removing the following files from their deployments. http://forum.java.sun.com/thread.jspa?threadID=647982&tstart=105 naming-common.jar, naming-java.jar, naming-resources.jar, naming-factory.jar Are these by chance in your WEB-INF folder somewhere? Or any where in your Tomcat install? I checked they are not in mine and I have : naming-factory.jar naming-resources.jar in Tomcat/common/lib/ If you see these files any where else try deleting them. Other than that my only idea would be to try using Tomcat 5.5. Sean Rowe wrote: I have tried again using the method described in the url brian gave. Here is the stack exception I'm receiving: *type* Exception report *message* *description* _The server encountered an internal error () that prevented it from fulfilling this request._ *exception* javax.servlet.ServletException: Name java:comp is not bound in this Context org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *root cause* javax.naming.NameNotFoundException: Name java:comp is not bound in this Context org.apache.naming.NamingContext.lookup(NamingContext.java:769) org.apache.naming.NamingContext.lookup(NamingContext.java:152) javax.naming.InitialContext.lookup(InitialContext.java:351) com.transcriptionportal.utils.DBManager.init(DBManager.java:25) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:53) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I have enclosed my server.xml, web.xml, context.xml (that i placed in my web/META-INF folder), and the class I'm using to make the connection. Thanks again to everyone who has helped me so far. sean Allistair Crossley wrote: Hi, He isn't using that method of configuration, that's just 1 option of 3. He is nesting his Context definition within the server.xml Host element. Although this is now scorned, it's still valid. The 2 other methods are contextname.xml as you say, and also META-INF/context.xml within the webapp itself. Allistair. -Original Message- From: Brian Cook [mailto:[EMAIL PROTECTED] Sent: 23 August 2005 17:23 To: Tomcat Users List Subject: Re: jndi question Ok but do you have the resource defined in context.xml? If you go to <>/conf/Cataliana/localhost/ do you see a file with the name of the module ending with .xml? If so is the resource defined in that file? If not you need to add it. From the description it sounds like nothing in this set up has been done as was show on the example page. http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources -howto.html If you use the code block that is shown, define that resource in web.xml and context.xml it will work. But multiple postings latter it still sounds like the JNDI resource is not defined in context.xml and the code calling the JNDI resource differs greatly from the example provided. Sean Rowe wrote: The first post on this included the server.xml, and further down in the page is the relevant part of web.xml ( i just double checked that ). as for context.xml, i have listed it in my webapp.xml file, as well as server.xml as all other examples have suggested. i then tried it in the admin module, where it then put it in server.xml for me. i'm willing to try anything at this point, though, if you have any suggestions. as f
Re: jndi question
brian, would you mind giving me a list of the applicable jar files you have in your web-inf/lib folder? i removed the files below, and made sure the files naming-factory and naming resources were in my common/lib folder. now i'm getting this stack exception: javax.servlet.ServletException: Cannot create resource instance org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *root cause* javax.naming.NamingException: Cannot create resource instance org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:132) javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) org.apache.naming.NamingContext.lookup(NamingContext.java:792) org.apache.naming.NamingContext.lookup(NamingContext.java:139) org.apache.naming.NamingContext.lookup(NamingContext.java:780) org.apache.naming.NamingContext.lookup(NamingContext.java:152) com.transcriptionportal.utils.DBManager.init(DBManager.java:34) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:53) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) Different error this time, so i think i'm getting closer. ;) thanks again. sean Brian Cook wrote: Sean, I copied your code on top of mine and ran it with no problems. So you can probably eliminate the code as the issue. Also since the error is now on the "java:comp" resource and not your JNDI defined resources I think your context.xml and web.xml configuration is correct too. I googled the javax.naming.NameNotFoundException on string "java:comp" I found several postings that mentioned they fixed it by removing the following files from their deployments. http://forum.java.sun.com/thread.jspa?threadID=647982&tstart=105 naming-common.jar, naming-java.jar, naming-resources.jar, naming-factory.jar Are these by chance in your WEB-INF folder somewhere? Or any where in your Tomcat install? I checked they are not in mine and I have : naming-factory.jar naming-resources.jar in Tomcat/common/lib/ If you see these files any where else try deleting them. Other than that my only idea would be to try using Tomcat 5.5. Sean Rowe wrote: I have tried again using the method described in the url brian gave. Here is the stack exception I'm receiving: *type* Exception report *message* *description* _The server encountered an internal error () that prevented it from fulfilling this request._ *exception* javax.servlet.ServletException: Name java:comp is not bound in this Context org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *root cause* javax.naming.NameNotFoundException: Name java:comp is not bound in this Context org.apache.naming.NamingContext.lookup(NamingContext.java:769) org.apache.naming.NamingContext.lookup(NamingContext.java:152) javax.naming.InitialContext.lookup(InitialContext.java:351) com.transcriptionportal.utils.DBManager.init(DBManager.java:25) org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:53) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWra