JBatch:Wildfly 9上的BatchProperty注入

时间:2017-01-13 16:54:36

标签: dependency-injection wildfly-9 jbatch

我刚刚开始学习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的值始终为null。因此注射不起作用。这是我的失败还是我在部署批处理应用程序的wildfly 9.0.1上遇到的问题?

1 个答案:

答案 0 :(得分:1)

我回答了我自己的问题 - 希望这有助于其他初学者使用JBatch。

我没有注意到我只能注入在&#34; batchlet&#34; -tag内或在&#34; chunk&#34;中声明的属性(使用@Inject @BatchProperty) - 标签。对于工作级别或步骤级别的属性,这不起作用。