tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Rowe <ichabo...@gmail.com>
Subject Re: jndi question
Date Tue, 23 Aug 2005 16:03:34 GMT
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 
>
><ResourceLink name="myLinkToAppJndi"
>  global="jdbc/appname"
>  type="javax.sql.DataSource" />
>
>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:ichabooka@gmail.com]
>>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: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
>>>
>>>
>>> 
>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>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


Mime
View raw message