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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]