Hi,
4. I use OracleConnectionPoolDataSource because with javax.sql.DataSource it doesn't close correctly close connections from pool and server got to hang up.
Have you got any exception?
5. con variable is of type Connection. I found this in an example in google. May it be of type PooledConnection? If so, can I use pc variable instead of con?
I am using interface OracleConnection becouse sam libraries needs this interface instead of Connection interface
6. I've putted user="test" password="test" in context but it still doesn't work if I don't put user and password in getPooledConnection. Currently context.xml is this: <Context debug="0" reloadable="true"> <Resource name="jdbc/test" auth="Container" type="oracle.jdbc.pool.OracleConnectionPoolDataSource" factory="oracle.jdbc.pool.OracleDataSourceFactory" maxActive="5" maxIdle="-1" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@192.168.1.47:1521:GLOBALDB" />
This is my resource: <Resource name="IC" auth="Container" type="oracle.jdbc.pool.OracleDataSource" factory="oracle.jdbc.pool.OracleDataSourceFactory" user="IC" password="IC" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.100.119:1521:orcl" maxActive="20" maxIdle="10" maxwait="-1"/>
</Context> And code that gets the connection is this: Context initCtx = null; PooledConnection pc = null; Connection con = null; public void init() { if(pc == null) { try { initCtx = new InitialContext(); Context ctx = (Context) initCtx.lookup("java:/comp/env"); OracleConnectionPoolDataSource fuenteDatos = (OracleConnectionPoolDataSource) ctx.lookup("/jdbc/ganaderia"); pc = fuenteDatos.getPooledConnection(dbUser, dbPassword); } catch(Exception e) { String mensaje = getMessage(e); sc.log(mensaje); } } initConnection(); } void initConnection() { try { con = pc.getConnection(); } catch(Exception e) { sc.log(getMessage(e)); } } public void finishConnection() { try { if(con != null) { con.close(); con = null; } } catch(Exception e) { sc.log(getMessage(e)); con = null; } } public void finish() { try { finishConnection(); if(pc != null) pc.close(); } catch(Exception e) { sc.log(getMessage(e)); } }
and this is my java code I use try { // Look up the data source on the JNDI tree DataSource ds = (DataSource) ctxt.lookup("java:/comp/env/" + poolName); if (ds instanceof OracleDataSource) { log.debug("oracleDatasource found"); } conn = ds.getConnection(); if (conn instanceof OracleConnection) { log.debug( "OracleConnection - delegated" ); } } catch ( Exception ex ) { log.error( classId + "Error getting Oracle Connection.", ex ); throw ex; } What jdbc driver do you use? And one question. Are you going to use any user transaction manager? :) I use simpleJTA, but I have tested it only in developement... Regards, Zdenek --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]