Hi Jon Kranes,
I got this problem too before.
I am using JBPM5.4 Final, Spring 3, and MS SQL Server 2008 Db.
few things that I remember:
1. when you start process or when you do completeTask, remove the @Transactional annotation. And let the jBPM engine handle the transaction.
(I got a problem where my Web App got hang like endless locking, and this clears the issue)
2. add unique index for "processInstanceId" field in database table "ProcessInstanceLog"
(I got a problem where the jBPM engine throws deadlock exception when starting task without human task with multiple thread)
Hope this helps.
Regards,
Thomas Setiabudi