Hi,

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]



Reply via email to