Hello again,
I am sending this message (with my 2 questions below), just to understand if I sent my
questions to the right list and to get some pointers in case I missed out on the
documentation. Avalon looks great, but without documentation or any help, people are
going to get a serious headache figuring out how to use it.
Many thanks
Franck
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Hello,
I looked in the archive, but I could not find anything on my problem.
I get this message when I try to connect to my database without setting the
connection-class in the xml file:
DEBUG 10162 [TestPool] (): factory created class was null so a new instance could
not be created. org.apache.avalon.excalibur.datasource.NoValidConnectionException: No
valid JdbcConnection class available at
org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:183)
I don't have a Jdbc3Connection in my avalon-excalibur-4.1.jar but it looks like that
is the default class which JdbcConnectionFactory is looking for:
if ( null == className )
{
try
{
java.lang.reflect.Method meth =
m_firstConnection.getClass().getMethod("getHoldability", new Class[] {});
className =
"org.apache.avalon.excalibur.datasource.Jdbc3Connection";
}
catch (Exception e)
{
className =
"org.apache.avalon.excalibur.datasource.JdbcConnection";
}
}
When I set the connection-class option to
org.apache.avalon.excalibur.datasource.JdbcConnection it works well.
So I'm wondering if I'm missing something because it never goes into the catch clause
to get the JdbcConnection even though I don't have the Jdbc3Connecetion in my jar.
Sorry if this point was already discussed; if so, please redirect me to the place
where I can find an explanation.
Thanks
Franck
Hello,
I'm using JdbcDataSource to get a connection from the connection pool.
Everything work well. So I started to kill session in the the database, everything ok,
it just create on other connedtion.
When I deconnect the PC from the network, the pool just wait and start again when I
plug back the pc to the network.
But when I kill the database service running on the same PC, I get this message and my
programs stop riht away:
java.sql.SQLException: I/O Exception : Connection
refused(DESCRIPTION=(TMP=)(VSNNUM=135290880)(ERR=12500)(ERROR_STACK=(ERROR=(CODE=12500)(EMFI=4))(ERROR=(CODE=12560)(EMFI=4))(ERROR=(CODE=530)(EMFI=4))(ERROR=(BUF='32-bit
Windows Error: 2: No such file or directory'))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:210)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at
org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:139)
at org.apache.avalon.excalibur.pool.AbstractPool.newPoolable(AbstractPool.java:82)
at
org.apache.avalon.excalibur.pool.HardResourceLimitingPool.newPoolable(HardResourceLimitingPool.java:95)
at
org.apache.avalon.excalibur.datasource.JdbcConnectionPool.newPoolable(JdbcConnectionPool.java:74)
at
org.apache.avalon.excalibur.datasource.JdbcConnectionPool.get(JdbcConnectionPool.java:154)
at
org.apache.avalon.excalibur.datasource.JdbcDataSource.getConnection(JdbcDataSource.java:201)
at TestPool.main(TestPool.java:57)
Process terminated with exit code 0
Or, if I try to stop the service properly, this message:
java.sql.SQLException: ORA-01089: immediate shutdown in progress - no operations are
permitted
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:429)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:224)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at
org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:139)
at org.apache.avalon.excalibur.pool.AbstractPool.newPoolable(AbstractPool.java:82)
at
org.apache.avalon.excalibur.pool.HardResourceLimitingPool.newPoolable(HardResourceLimitingPool.java:95)
at
org.apache.avalon.excalibur.datasource.JdbcConnectionPool.newPoolable(JdbcConnectionPool.java:74)
at
org.apache.avalon.excalibur.datasource.JdbcConnectionPool.get(JdbcConnectionPool.java:154)
at
org.apache.avalon.excalibur.datasource.JdbcDataSource.getConnection(JdbcDataSource.java:201)
at TestPool.main(TestPool.java:57)
Process terminated with exit code 0
I was thinking that the service would wait until it can reconnect to the database:
I'm my wrong?
What should I do so the pool doesn't stop? (Wrapping the
LimitingResourceJdbcConnection looks great...)
Thanks
Franck