从EJB调用批处理作业

时间:2013-10-06 16:06:12

标签: java-ee ejb cdi batch-processing

我正在尝试从EJB调用批处理作业。我的批处理工作基于javax.batch-api-1.0.jar,而不是spring。在我的ejb中,我使用以下行来调用批处理作业:

JobOperator jobOperator = BatchRuntime.getJobOperator();
Properties props = new Properties();
long execID=jobOperator.start("myBatch-job", props);

然而,它失败了。 Debug显示BatchRuntime.getJobOperator()返回null。谁能告诉我为什么调用失败了?感谢。

===== 问题应该是我没有将JobOperator注入EJB。但我不知道如何解决它。我尝试使用@Inject,

@Inject
JobOperator jobOperator;

...

Properties props = new Properties();
jobOperator.start("myBatch-job", props);

我还添加了一个JobProducer类:

@Named
public class JobProducers {

    @Produces
    @Default
    public JobOperator getJobOperator() {
        return BatchRuntime.getJobOperator();
    }
}

然而,它仍然无效。

0 个答案:

没有答案