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 <<Tomcat > >>>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 > >> > >> > >>><CODE> > >>> > >>>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(); > >>> > >>></CODE> > >>> > >>> > >>> > >>> > >>> > >>><WEB.XML> > >>> > >>><resource-ref> > >>> <description> > >>> 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. > >>> </description> > >>> <res-ref-name> > >>> jdbc/EmployeeDB > >>> </res-ref-name> > >>> <res-type> > >>> javax.sql.DataSource > >>> </res-type> > >>> <res-auth> > >>> Container > >>> </res-auth> > >>></resource-ref> > >>> > >>></WEB.XML> > >>> > >>> > >>> > >>> > >>><CONTEXT FILE> > >>> > >>><Context> > >>> > >>> <Resource name="jdbc/EmployeeDB" > >>> auth="Container" > >>> type="javax.sql.DataSource" > >>> username="dbusername" > >>> password="dbpassword" > >>> driverClassName="org.hsql.jdbcDriver" > >>> url="jdbc:HypersonicSQL:database" > >>> maxActive="8" > >>> maxIdle="4"/> > >>> > >>></Context> > >>> > >>></CONTEXT FILE> > >>> > >>> > >>> > >>> > >>> > >>> > >>>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 <tomcat-user@jakarta.apache.org> > >>>>>>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-datasourc > >> > >> > >e-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] > >>> > >>> > >>> > >>> > >>------------------------------------------------------------ > ------------ > >> > >>------------------------------------------------------------ > --------- > >>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] > > > > > > > ><FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> > >------------------------------------------------------- > >QAS Ltd. > >Registered in England: No 2582055 > >Registered in Australia: No 082 851 474 > >------------------------------------------------------- > ></FONT> > > > > > >--------------------------------------------------------------------- > >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] > > <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> ------------------------------------------------------- QAS Ltd. Registered in England: No 2582055 Registered in Australia: No 082 851 474 ------------------------------------------------------- </FONT> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]