2017-01-13 59 views
0

BatchProperty注入我刚开始学习JSR-352,并通过查看教程做到了。但我有间歇性的注入问题: 我“myJob.xml”的重要组成部分,是这个JBatch:上Wildfly 9

<job id="myJob" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0"> 
<properties> 
    <property name="name" value="MyName"/> 
</properties> 

用下面的代码是没有问题得到在Batchlet或块中的财产:

@Inject 
JobContext batchContext; 

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

但在不同的教程我也找到了更简单的方式与

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

但名称的值总是空做到这一点。所以注射不起作用。这是我的失败还是这是我在其上部署了批处理应用程序的野蛮9.0.1的问题?

+0

你试图将注入名字你注入了'JobContext'同一类? –

+0

是的。这是同一个Batchlet类。 – Veilchen4ever

+1

它应该肯定工作。你的部署中有'beans.xml'吗? –

回答

1

我回答我的问题 - 希望这可以帮助其他新手有JBatch。

我没有注意到,我只能注入性能(与@Inject @BatchProperty),它们在一个“batchlet” - 标签或“块” - 标签内部声明。通过在作业级别或步骤级别上的属性,这不起作用。