使用 Thorntail (Wildfly Swarm) 和 JBeret 获取 JobOperatorImpl 时出错

Error while get JobOperatorImpl with Thorntail (Wildfly Swarm) and JBeret

我需要获取 JobOperatorImpl 来处理 JBeret 中以编程方式定义的作业。我使用 Thorntail 作为具有 io.thorntail:batch-jberet 依赖项的容器。

JobOperatorImpl jobOperator = (JobOperatorImpl) JobOperatorContext.getJobOperatorContext().getJobOperator();

但我得到一个例外:Caused by: java.lang.ClassCastException: org.wildfly.extension.batch.jberet.deployment.JobOperatorService cannot be cast to org.jberet.operations.JobOperatorImpl

当我使用没有 Thorntail 分数的 JBeret 依赖项时,它工作正常。

我认为 org.wildfly.extension.batch.jberet.deployment.JobOperatorService 只能转换为 javax.batch.operations.JobOperator 而不是 JBeret 实现 class

您可以将其转换为 org.jberet.operations.AbstractJobOperator

它应该提供管理作业所需的所有方法。