Hi Filip,
I could not understand what u meant.
I am calling getConnection() method which has the below code server
startup,like after user logs into the application and does a operation,the
code works.

But If I call the getConnection method during the server start up I am
getting exception.

javax.naming.NameNotFoundException: Name comp is not bound in this Context

I have written a Listener class which implements ServletContextListener,I
have written the same JNDI code in that too and this works fine.
Here my start up class calls the getConnection() method before the my
Listenerclass.

*Is the issue because the server has not fully intialized/bound the JNDI
objects.*
And My start up class is calling the getConnection() method before server
inialize

System.setProperty("java.naming.factory.initial",
"org.apache.naming.java.javaURLContextFactory");
            System.setProperty("java.naming.factory.url.pkgs",
"org.apache.naming");
            Context initContext = new InitialContext();
            // "java:comp/env" should not be changed
            // it is the top of the JNDI context
            Context envContext = (Context)
initContext.lookup("java:comp/env");
            // "jdbc/DBLogger" is the name that will be used in
context.xml.default
            DataSource ds = (DataSource) envContext.lookup("jdbc/customer");
            ((org.apache.tomcat.dbcp.dbcp.BasicDataSource)
ds).setUsername(sUserID);
            ((org.apache.tomcat.dbcp.dbcp.BasicDataSource)
ds).setPassword(sPassword);
            ((org.apache.tomcat.dbcp.dbcp.BasicDataSource)
ds).setDriverClassName(jdbcDriverClass);
            ((org.apache.tomcat.dbcp.dbcp.BasicDataSource)
ds).setUrl(jdbcDriverConnectURL + dbServiceName);
            System.out.println("Sucess");
            dbConnection = ds.getConnection();

Thanks and Regards
Hanmaya


On Thu, May 15, 2008 at 6:58 PM, Filip Hanik - Dev Lists <[EMAIL PROTECTED]>
wrote:

> the best thing to do is to look into DataSourceRealm.java as part of the
> tomcat source code.
> the method open(), shows how server code would look up both a local or a
> global data source
>
> Filip
> Hanmay Udgiri wrote:
>
>> Hi
>> I have implemented datasource using JNDI look up.
>> The code work fine If I call the code during any User action.
>> But If try to call the same code during the tomcat server start up I get
>> an
>> exception
>>
>> javax.naming.NameNotFoundException: Name comp is not bound in this Context
>>
>> I am using Tomcat 5.5 and Oracle 9
>>
>> I am using JNDI look for connection pooling.
>> We have a ITSMain class which uses MBeanServer to load the classes.
>> This class has a ServiceManager class which load all start up services and
>> initializes it.
>> During this we have Connection pooling class which uses JNDI look up.
>> So I am getting below exception If I set my JNDI class to initialize at
>> start up.
>> But If I don't set my class to initialize at server start up,Then I don't
>> get any exception.
>>
>>
>>  ------------------------------------------------------------------------
>>
>> No virus found in this incoming message.
>> Checked by AVG. Version: 7.5.524 / Virus Database: 269.23.16/1433 -
>> Release Date: 5/14/2008 4:44 PM
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Thanks and Regards
Hanmayya Udgiri

Reply via email to