如何 运行 Quarkus 中的异步数据库任务

How to run a async database task in Quarkus

我想在一个新线程中开始一个长时间的运行数据库操作。因此持久性上下文必须可用但没有 return 值(或者不需要 return 值)。通常我这样做:


@Inject
MyRepository panachRepo;

new Thread(() -> {
    panachRepo.cleanupDatabase();
});

我如何在 quarkus 中实现这个?

@Inject
ManagedExecutor managedExecutor;

然后就可以提交任务给它了

managedExecutor.execute(() -> methodToExecute());