I have narrowed it down to multithreading being the cause. I have a set of
workers running through an executor service, and it seems cglib is not
respecting the @DB annotation on the method being called by the thread.

I can force the lock to be acquired if the entire method is executed in a
transaction, or if I remove the producer-consumer BlockingQueue. Is there a
way that makes sense besides one of these two options?

On Wed, Oct 14, 2015 at 5:04 PM, Jeff Hair <j...@greenqloud.com> wrote:

> I'm using the DAO API to create a lock in the lock table as per
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Data+Access+Layer.
> However, the lock seems to mysteriously vanish after acquireInLockTable or
> lockInLockTable method returns. Looking at the code, I've discovered that
> TransactionContextInterceptor is closing the TransactionLegacy after the
> method returns.
>
> I have @DB on the method calling acquireFromLockTable. What am I doing
> wrong?
>



-- 
*Jeff Hair*
Technical Lead and Software Developer

Tel: (+354) 415 0200
j...@greenqloud.com
www.greenqloud.com

Reply via email to