On Wed, 15 Oct 2003 15:29:39 +0200, Vincent ARBONA <[EMAIL PROTECTED]> wrote:
Hi,
I have the following problem :
I execute this code to test "connection pool max-active" parameter :
public void testMultipleBroker() { int nbBroker = 200;
PersistenceBroker b = null; PBKey key = new PBKey("varbona"); //varbona is my jdc-alias
try { for (int i = 0; i < nbBroker; i++) { System.out.println("cnx n�" + i);
b = PersistenceBrokerFactory.createPersistenceBroker(key)
QueryByCriteria q = new QueryByCriteria(org.udb.candisup.back.dto.domain.CiviliteDTO.class);
Collection c = b.getCollectionByQuery(q);
// I do not close the persistence broker !! //b.close();
if do not close the broker instance the associated connection (assosiated on getCollectionByQuery) wasn't closed too --> then your connection pool can exhaust. If you don't want to close the PB instance (for your special test case), then use PB-tx demarcation around the query. On PB.commitTransaction() the associated connection will be closed.
regards, Armin
} } catch (SystemException ex) { System.out.println(ex.getMessage()); } }
After eight instanciation of PersistanceBroker (nbBroker=7), I always have this error :
java.sql.SQLException: Exception d'E/S: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1380)
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localRollback(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.abortTransaction(Unknown Source)
[org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR: Rollback on the underlying connection failed
Exception d'E/S: Socket closed
at org.apache.ojb.broker.core.PersistenceBrokerImpl.close(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.finalize(Unknown Source)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
java.sql.SQLException: Exception d'E/S: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1380)
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localRollback(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.abortTransaction(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.close(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.finalize(Unknown Source)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
[org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR: Rollback on the underlying connection failed
Exception d'E/S: Socket closed
Here is my connection descriptor
<jdbc-connection-descriptor jcd-alias="varbona" default-connection="false" platform="Oracle9i" jdbc-level="2.0" driver="oracle.jdbc.driver.OracleDriver" protocol="jdbc" subprotocol="oracle" dbalias="thin:@192.168.1.202:1525:TEST" username="varbona" password="opiweb" eager-release="false" batch-mode="false" useAutoCommit="2" ignoreAutoCommitExceptions="true" > <connection-pool maxActive="100" maxIdle="50" whenExhaustedAction="2" validationQuery="" />
<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
<attribute attribute-name="grabSize" attribute-value="20"/>
<attribute attribute-name="autoNaming" attribute-value="true"/>
<attribute attribute-name="globalSequenceId" attribute-value="false"/>
<attribute attribute-name="globalSequenceStart" attribute-value="10000"/>
</sequence-manager>
</jdbc-connection-descriptor>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
