Github user franz1981 commented on the issue:
https://github.com/apache/activemq-artemis/pull/1624
@mtaylor Probably instead of using an instrinsic lock (aka `synchronize`)
would be better to use a `ReentrantLock` that has different utilities to check
if a lock is acquired and could avoid deadlocks/starvation using
[tryLock](https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html#tryLock(long,%20java.util.concurrent.TimeUnit)):
if it will wail with a specified timeout than a critical error could be called.
---