tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allistair Crossley" <Allistair.Cross...@QAS.com>
Subject RE: jndi question
Date Tue, 23 Aug 2005 15:43:04 GMT
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:ichabooka@gmail.com]
> 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:ichabooka@gmail.com]
> >>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 <ichabooka@gmail.com>
> >>>>>>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: tomcat-user-unsubscribe@jakarta.apache.org
> >>>For additional commands, e-mail: 
> tomcat-user-help@jakarta.apache.org
> >>>
> >>>
> >>>      
> >>>
> >>------------------------------------------------------------
> ------------
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> >>
> >>    
> >>
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> >
> >
> >
> ><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: tomcat-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> >
> >
> >  
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> 
> 


<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: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message