diff --git a/app/proprietary/src/main/java/stirling/software/proprietary/policy/store/JpaPolicyStore.java b/app/proprietary/src/main/java/stirling/software/proprietary/policy/store/JpaPolicyStore.java index 4836477ce1..9170ebe0c3 100644 --- a/app/proprietary/src/main/java/stirling/software/proprietary/policy/store/JpaPolicyStore.java +++ b/app/proprietary/src/main/java/stirling/software/proprietary/policy/store/JpaPolicyStore.java @@ -60,12 +60,17 @@ public class JpaPolicyStore implements PolicyStore { } @Override + @Transactional public List all() { return repository.listAll().stream().map(this::toPolicy).toList(); } @Override + @Transactional public List findByTriggerType(String triggerType) { + // @Transactional is required even for reads: the scheduled folder-watch/schedule triggers + // call this from a background virtual-thread executor where no request context or + // transaction is active, so Panache would otherwise throw ContextNotActiveException. return repository.findByTriggerTypeAndEnabledTrue(triggerType).stream() .map(this::toPolicy) .toList();