Just to correct myself, the problem I found was in ejbStore, not
ejbLoad. And I keeps saying that sleep is overrated 8^})
On Mon, 22 Jan 2001, danch wrote:
> With tonight's CVS as well as 2.0 FINAL, if an ejbLoad method throws an
> EJBException (or any runtime exception), JBoss fails to rollback the
> transaction and discard the bean instance per spec. (section 12.3 of the
> 1.1 spec).
>
> This might be a fairly nasty issue: my initial symptom was having later
> requests for the same bean doing the 'LOCKING-WAITING' thing in
> EntityInstanceInterceptor, which indicates that the transaction stuff
> never let go of the bad bean, either.
>
> Looking into TxCapsule, it looks to me like if an exception is thrown
> out of doBeforeCompletion (like this), endResources, afterCompletion,
> etc. never get called. Since afterCompletion (on the
> InstanceSynchronization inner class in EntitySynchronizationInterceptor)
> seems to be where the instance gets disassociated from the transaction.
>
> I'm thinking that TxCapsule needs to be beefed up WRT exception
> handling, which could accomplish the rollback. That should also arrange
> for the instance that's at fault to not go back into the pool in
> afterCommit, but I'm not sure how that would be accomplished.
>
> g'd night!
> danch
>
>
--
Dan Christopherson (danch)
nVisia Technical Architect (www.nvisia.com)
Opinions expressed are mine and do not neccessarily reflect any
position or opinion of nVISIA.
---------------------------------------------------------------------------
If you're a capitalist and you have the best goods and they're
free, you don't have to proselytize, you just have to wait.
-Eben Moglen