我刚开始学习 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 的问题?