Hi Bob,

Also, based on the configuration, I would expect the connection to be
shutdown after my 60 second Thread.sleep, but as you can see, the
connection is still listed as active. Am I looking in the right place?


You are locking in the right place! The PB-pool is not intended to support automatic cleanup of abandoned PB instances, because abandoned PB instances are a software bug (you forget to close a PB instance in your code). If you need such an service I recommend to write your on service like - when lookup an PB instance add it to an service class "PBTrace" - PBTrance implements PBStateListener and will be add to each PB instance as a temporary listener - On PB.close call PBTrace was notified by OJB and can remove the current PB from the list of active PB. - Since PBTrace has a list of all active PB handles you can implement automatic cleanup

regards,
Armin

Bob Damato wrote:
Ok, I think I understand now. Here's what I've found. When I run the following 
code ...
--------------------------------------
PersistenceBroker pb = ...   <--- get a broker but don't close
Properties p = 
((PersistenceBrokerFactoryDefaultImpl)PersistenceBrokerFactoryFactory.instance()).getPoolConfiguration();
Iterator i = p.keySet().iterator();
while (i.hasNext())
{
        String key = i.next().toString();
        System.out.println(key + ": " + p.getProperty(key));
}
System.out.println("Active connections: " + 
PersistenceBrokerFactoryFactory.instance().activePersistenceBroker());
Thread.sleep(60000);
System.out.println("Active connections: " + 
PersistenceBrokerFactoryFactory.instance().activePersistenceBroker());    
--------------------------------------

...I see some configuration options that I don't know how to set (marked with a 
-). These aren't in my OJB.properties file and adding them didn't seem to work.

+ whenExhaustedAction: 1
+ maxIdle: -1
+ maxActive: 100 + maxWait: 20000
- removeAbandoned: false
- numTestsPerEvictionRun: 10
- testWhileIdle: false
+ minEvictableIdleTimeMillis: 10000
- testOnReturn: false
- logAbandoned: false - removeAbandonedTimeout: 300
+ timeBetweenEvictionRunsMillis: 5000
- testOnBorrow: false
Active connections: 1
Active connections: 1


Also, based on the configuration, I would expect the connection to be shutdown 
after my 60 second Thread.sleep, but as you can see, the connection is still 
listed as active. Am I looking in the right place?


-----Original Message----- From: Armin Waibel [mailto:[EMAIL PROTECTED] Sent: Thursday, February 10, 2005 1:45 PM To: OJB Users List Subject: Re: Pool Info?


Hi Bob,

Bob Damato wrote:

Hello Armin, Thank you for the information. I extended the ConnectionFactoryPooledImpl and I was able to gain access to the connection pool information.

Another question: Is there a way that I can set up the pool to notify me
(log entry, email, electric shock etc) if a broker is evicted from the pool?



you have to differ between the connection-pool and the PB pool. The PB-pool was setup in PersistenceBrokerFactoryDefaultImpl.
Think commons-pool does not provide any Listener to get notification of pooling actions.


I think you can ask for the number of active PB directly in OJB doing

int active = PersistenceBrokerFactoryFactory.instance().activePersistenceBroker()

If you need more detailed control have a look in PersistenceBrokerFactoryDefaultImpl and extend it if possible.

I will try to implement some basic monitor methods for connection/PB pool in OJB 1.1 - suggestions are welcome.

regards,
Armin


-----Original Message-----
From: Armin Waibel [mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 09, 2005 4:07 PM
To: OJB Users List
Subject: Re: Pool Info?


Hi Bob,

currently there are no methods to access the used commons-pool instances in ConnectionFactoryPooledImpl. I recommend to extend ConnectionFactoryPooledImpl and override method #createConnectionPool.

public ObjectPool createConnectionPool(JdbcConnectionDescriptor jcd)
{
  ObjectPool pool = super.createConnectionPool...
  // add 'pool' instance to list or map, ObjectPool has methods to
  // lookup active connections, idle connections ...
  return pool;
}

regards,
Armin

Bob Damato wrote:


I'm using ConnectionFactoryPooledImpl and I'm trying to find run time information about 
the pool such as the current number of connections "checked out", and the 
number of connections that were timed out etc. Is there any way to get this data?





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to