All,

>
> What do you mean by "swapped out"?
>

Idle speculation in the face of a problem that I didn't really understand
:-(

>
> > 69% of all threads are sleeping on a monitor.
>
> Fully expected, since that's what they do when waiting for work to show up.
>
> > This might indicate they are waiting for some external
> > resource (e.g. database) which is overloaded or not
> > available
>
> You don't need to speculate;
>

I wasn't speculating - both lines were a quote from thread dump analyzer.

>
> Using removeAbandoned and logAbandoned might be of interest.
> ...
> More evidence of a broken app, not returning connections to the pool when
> it's done with them.
>

Our code uses hibernate. We never touch connections directly. We ask
hibernate to execute some SQL, and it handles all the get/return connection.
Hence I was some what sceptical of this advice. However having followed this
user group for a few months now, I get that you know what you are talking
about. So I turned on the logging, and sure enough at one point during
initialization, we obtained a connection and didn't return it. So thanks for
pointing out that setting.

Finally managed to track the problem down to nested transactions -
apparently spring doesn't support them. Once removed the problem went away

Thanks for all your help

Chris

Reply via email to