protected synchronized List<ScheduledTask> getTasks() { log.trace("Read all active tasks from DB and lock them"); EntityManager em = persistence.getEntityManager(); Query query = em.createQuery("select t from sys$ScheduledTask t where t.active = true"); query.setLockMode(LockModeType.PESSIMISTIC_WRITE); return query.getResultList(); } }