【发布时间】:2015-12-19 01:13:41
【问题描述】:
我正在使用 Jberet 实现 Java EE 7 批处理 (JSR-352)。我想知道是否有更好的语法在 JSL(作业规范语言)中为用于注入的对象制作列表,而不是给出逗号分隔的列表。我想列出一个 java 类的列表,如果我把它们都放在一行中,它会变得非常长且难以阅读。 这就是我目前的做法
<step id="listExample">
<batchlet ref="com.work.production.imports.batch.batchlet.ListExampleBatchlet">
<properties>
<property name="rawClazz" value="com.workstuff.production.imports.entity.Class1, com.workstuff.production.imports.entity.Class2, com.workstuff.production.imports.entity.Class3"/>
</properties>
</batchlet>
如果有类似的东西就好了:
<step id="listExample">
<batchlet ref="com.workstuff.production.imports.batch.batchlet.ListExampleBatchlet">
<properties>
<property name="rawClazz">
<list>
<li value = "com.workstuff.production.imports.entity.Class1"/>
<li value = "com.workstuff.production.imports.entity.Class2"/>
<li value = "com.workstuff.production.imports.entity.Class3"/>
</list>
</property>
</properties>
</batchlet>
在搜索了大约一个小时后,我找不到类似的东西。我正在使用的批处理的实现是 Jberet。我知道我可以简单地进行字符串操作并创建自己的列表,但我想知道是否有更清洁的解决方案。
【问题讨论】:
-
没有任何东西是 JSR 352 标准的一部分(这并不一定会阻止实现提供扩展)。该主题已在有关提议的Batch 1.1 spec update 的讨论中出现,但我们目前没有方向。
-
@Scott Kurz 知道按照规范没有一种干净的方法来实现它是很有价值的,所以我可以实现我自己的解决方案,我有。 :)