Dependency injection JBatch:wildfly9上的批属性注入

Dependency injection JBatch:wildfly9上的批属性注入,dependency-injection,wildfly-9,jbatch,Dependency Injection,Wildfly 9,Jbatch,我刚开始学习JSR-352,并通过查看教程完成了学习。但是我在批处理属性的注入方面有一个问题: “myJob.xml”的重要部分是 但在不同的教程中,我也找到了一种更简单的方法来实现这一点 @Inject @BatchProperty(name="name") String name; 但是name的值总是空的。所以注射不起作用。这是我的失败还是我部署批处理应用程序的wildfly 9.0.1的问题 我在回答我自己的问题-希望这能帮助其他JBatch初学者 我没有注意到我只能注入在“batch

我刚开始学习JSR-352,并通过查看教程完成了学习。但是我在批处理属性的注入方面有一个问题: “myJob.xml”的重要部分是

但在不同的教程中,我也找到了一种更简单的方法来实现这一点

@Inject
@BatchProperty(name="name")
String name;

但是name的值总是空的。所以注射不起作用。这是我的失败还是我部署批处理应用程序的wildfly 9.0.1的问题

我在回答我自己的问题-希望这能帮助其他JBatch初学者


我没有注意到我只能注入在“batchlet”标记或“chunk”标记内声明的属性(使用@inject@BatchProperty)。如果属性位于作业级别或步骤级别,则此操作不起作用

我在回答我自己的问题-希望这能帮助其他JBatch初学者


我没有注意到我只能注入在“batchlet”标记或“chunk”标记内声明的属性(使用@inject@BatchProperty)。如果属性位于作业级别或步骤级别,则此操作不起作用

您是否尝试将名称注入到您注入的
JobContext
的同一类中?是。这是同一个Batchlet类。它肯定能工作。您的部署中有
beans.xml
吗?是的,我有webapp/WEB-INF中的beans.xml。一旦我有时间,a将再次检查所有内容。但是无论如何-谢谢你的帮助。。。很高兴知道,这应该在Wildfly 9.0.1上起作用。您是否尝试将名称注入到与您注入的
JobContext
相同的类中?是的。这是同一个Batchlet类。它肯定能工作。您的部署中有
beans.xml
吗?是的,我有webapp/WEB-INF中的beans.xml。一旦我有时间,a将再次检查所有内容。但是无论如何-谢谢你的帮助。。。很高兴知道这应该适用于Wildfly 9.0.1
@Inject
JobContext batchContext;

@Override
public String process() throws Exception {
    Thread.sleep(100);
    String name = batchContext.getProperties().getProperty("name");
@Inject
@BatchProperty(name="name")
String name;