On Jul 17, 2008, at 5:29 AM, the666pack wrote:


Hello,

i have a question regarding timeout values in openejb as the documentation
is somewhat sparse:

the timeout for the stateless pool is defined as:

"Specifies the time to wait between invocations. This
value is measured in milliseconds. A value of 5 would
result in a time-out of 5 milliseconds between invocations.
A value of zero would mean no timeout."

what exactly does the default value 0 now mean?

It looks like that value is no longer used. It used to configure the amount of time a thread should block while waiting for a instance from the pool when strict pooling is used. Zero was meant to imply "wait for as long as it takes", i.e. indefinitely. Agree that description is terrible.

The code was updated between 3.0-beta-2 and 3.0 final to fix the enforcement of the StrictPooling option. Looks like the timeout got left out of that refactor. We definitely should update the code to use the configurable timeout again.


the timeout for the stateful pool is defined as:

"Specifies the time to wait between invocations. This
value is measured in minutes. A value of 5 would
result in a time-out of 5 minutes between invocations.
A value of zero would mean no timeout."

is this the time before the bean is passivated or is this timeout before the
bean gets removed from the container?

It's the amount of inactive time to wait until the bean instance is destroyed. A value of zero would mean bean instances are never destroyed due to timeout. Passivation is triggered when reaching the PoolSize. At that point, the BulkPassivate value defines how many instances (oldest first) we will remove from the pool and passivate to disk. Afterwards the number of active instances will be X where 'X = PoolSize - BulkPassivate'

We will definitely clean up those docs. Thanks for asking for clarification!

-David

Reply via email to