Attached the patch for this in JIRA. On Wed, Apr 22, 2009 at 2:39 AM, David Blevins <[email protected]>wrote:
> Had a look through the code and it seems the design doesn't leave for much > of a choice other than the thread local. If you still have time to tackle > it, go for it. It'll definitely solve the issue. > > Maybe down the line we can look at reworking this code to be a bit less > awkward and avoid the thread local. > > -David > > > On Apr 12, 2009, at 4:12 PM, David Blevins wrote: > > Taking a look at what we did in 3.0, which had simpler code for handling >> some of this stuff. Intellij is not behaving though and seems to refuse to >> generate a project that works for the 3.0.x branch. >> >> Would be great to get by without a thread local and just a stronger try >> catch block, but it might be a bigger change. >> >> -David >> >> On Apr 12, 2009, at 2:12 AM, Bharath Ganesh wrote: >> >> something like - "boolean discardInstance". This boolean could be set to >>>>> >>>> false when an exception occurs during the call flow. >>> Set to "true" :-) >>> >>> On Sun, Apr 12, 2009 at 1:31 PM, Bharath Ganesh <[email protected]> >>> wrote: >>> >>> Hello, >>>> >>>> I was looking at Jira OpenEJB-976 [1], the bean pool leak issue when a >>>> RuntimeException is thrown during txPolicy.commit(). (See >>>> *StatelessContainer >>>> # invoke()* method) >>>> Currently there are a lot of places where we do *discardInstance *and >>>> *poolInstance. >>>> *It will be a nice idea to refactor this a bit to make the post-Invoke >>>> pool management at a single place - The ideal place being the *finally >>>> *block >>>> in the container's *invoke() *method, just before >>>> *ThreadContext.exit(oldCallContext). >>>> * >>>> >>>> For this to happen, we would have to add a state to callContext >>>> (ThreadContext), something like - "boolean discardInstance". This >>>> boolean >>>> could be set to false whenever an exception occurs during the call flow. >>>> At >>>> the end of the call, depending on this boolen we take a decision to add >>>> the >>>> instance back to pool or to discard it. If people are okay, I am ready >>>> to >>>> submit a patch. >>>> >>>> Thanks, >>>> Bharath >>>> >>>> >>>> >>>> [1] http://issues.apache.org/jira/browse/OPENEJB-976 >>>> >>>> >> >> >
