tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julio J. Suárez Salinero" <ju...@miracle-soft.com>
Subject OracleConnectionPoolDataSource
Date Wed, 18 Jul 2007 12:33:31 GMT
I'm Trying to connect a JSP tomcat-based application to Oracle using 
OracleConnectionPoolDataSource and related classes. I have used 
javax.sql.DataSource an it did work fine. I have made changes I need for 
using that classes and when I get the DataSource it throws exception 
"javax.naming.NamingException: Cannot create resource instance".

Changes I have made are these:

In context.xml:

<Context path="/test" docBase="test" debug="0"
reloadable="true" >
 <Resource
    name="jdbc/test" auth="Container"
    type="oracle.jdbc.pool.OracleConnectionPoolDataSource"
    maxActive="0" maxIdle="-1" maxWait="-1"
    removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
    username="test" password="test"
    driverClassName="oracle.jdbc.pool.OracleConnectionPoolDataSource"
    url="jdbc:oracle:thin:@192.168.1.109:1521:GLOBALDB" />
</Context>

In web.xml (only resource-ref):

<resource-ref>
 <res-ref-name>jdbc/test</res-ref-name>
 <res-type>oracle.jdbc.pool.OracleConnectionPoolDataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>

Code that creates connection:

 initCtx = new InitialContext();
 ctx = (Context) initCtx.lookup("java:/comp/env");
 fuenteDatos = (OracleConnectionPoolDataSource) ctx.lookup("/jdbc/test");
 PooledConnection pc = fuenteDatos.getPooledConnection();
 con = pc.getConnection();

I have searched in google and found some examples that use 
oracle.jdbc.driver.OracleDriver in driverClassName. I have also tried 
this option with the same results. I suppose bug is elsewhere.

I have tried to create DataSource instance in the code instead of get it 
from resource. Doing this it drops no error and page works, but I don't 
know how can I control maximun number of pooled connections. This is the 
code I have used for that:

 initCtx = new InitialContext();
 OracleConnectionPoolDataSource fuenteDatos = new 
OracleConnectionPoolDataSource();
 fuenteDatos.setDataSourceName("oracle.jdbc.pool.OracleConnectionPoolDataSource");
 fuenteDatos.setURL(dbURL);
 fuenteDatos.setDescription(DS);
 fuenteDatos.setUser(dbUsuario);
 fuenteDatos.setPassword(dbPassword);
 initCtx.rebind(DS, fuenteDatos);
 pc = fuenteDatos.getPooledConnection();

But it creates only one connection and doesn't allow two users to log in 
at the same time.

Please. I need help.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message