我刚刚开始学习JSR-352,并通过一个视图教程完成了它。但是我在注入批处理属性时遇到了一个问题:我的"myJob.xml“的重要部分是
<job id="myJob" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<properties>
<property name="name" value="MyName"/>
</properties>使用下面的代码,在Batchlet或Chunk中获取属性是没有问题的:
@Inject
JobContext batchContext;
@Override
public String process() throws Exception {
Thread.sleep(100);
String name = batchContext.getProperties().getProperty("name");但在不同的教程中,我也找到了一种更简单的方法来实现这一点
@Inject
@BatchProperty(name="name")
String name;但是name的值始终为空。所以注射不起作用。这是我的失败,还是我在其上部署批处理应用程序的wildfly 9.0.1的问题?
发布于 2017-01-21 01:53:53
我正在回答我自己的问题-希望这能对其他JBatch初学者有所帮助。
我没有注意到我只能注入在"batchlet"-tag或"chunk"-tag中声明的属性(使用@Inject @BatchProperty)。对于作业级或步骤级的属性,这是不起作用的。
https://stackoverflow.com/questions/41639681
复制相似问题