18.3. 批量属性注入
				JBoss EAP batch-jberet 子系统的一项功能是能够让作业 XML 文件中定义的属性,注入到批处理工件类中的字段。可以利用 @Inject 和 @ BatchProperty 注释,将作业 XML 文件中定义的属性注入到字段中。
			
inject 字段可以是以下任一 Java 类型:
- 
						java.lang.String
- 
						java.lang.StringBuilder
- 
						java.lang.StringBuffer
- 任何原语类型及其打包程序类型: - 
								布尔值,布尔值
- 
								int,Integer
- 
								double,Double
- 
								长,长
- 
								Char、character
- 
								浮点值,Float
- 
								Short
- 
								字节,Byte
 
- 
								
- 
						java.math.BigInteger
- 
						java.math.BigDecimal
- 
						java.net.URL
- 
						java.net.URI
- 
						java.io.File
- 
						java.util.jar.JarFile
- 
						java.util.Date
- 
						java.lang.Class
- 
						java.net.Inet4Address
- 
						java.net.Inet6Address
- 
						java.util.List,List<?>,List<String>
- 
						java.util.Set,Set<?>, Set<String>
- 
						java.util.Map,Map<?, ?>,Map<String, String>,Map<String, ?>
- 
						java.util.logging.Logger
- 
						java.util.regex.Pattern
- 
						javax.management.ObjectName
还支持以下数组类型:
- 
						java.lang.String[]
- 任何原语类型及其打包程序类型: - 
								boolean[],Boolean[]
- 
								int[]、Integer[]
- 
								double[],Double[]
- 
								长[]、Long[]
- 
								char[]、Character[]
- 
								float[],Float[]
- 
								short[],Short[]
- 
								字节[]、Byte[]
 
- 
								
- 
						java.math.BigInteger[]
- 
						java.math.BigDecimal[]
- 
						java.net.URL[]
- 
						java.net.URI[]
- 
						java.io.File[]
- 
						java.util.jar.JarFile[]
- 
						java.util.zip.ZipFile[]
- 
						java.util.Date[]
- 
						java.lang.Class[]
下面是使用批处理属性注入的一些示例:
将数字注入到批处理类中,作为各种类型
示例:作业 XML 文件
<batchlet ref="myBatchlet">
    <properties>
        <property name="number" value="10"/>
    </properties>
</batchlet>
<batchlet ref="myBatchlet">
    <properties>
        <property name="number" value="10"/>
    </properties>
</batchlet>示例:Artifact Class
将数字序列注入到批处理类中,作为各种阵列
示例:作业 XML 文件
<batchlet ref="myBatchlet">
    <properties>
        <property name="weekDays" value="1,2,3,4,5,6,7"/>
    </properties>
</batchlet>
<batchlet ref="myBatchlet">
    <properties>
        <property name="weekDays" value="1,2,3,4,5,6,7"/>
    </properties>
</batchlet>示例:Artifact Class
将类属性注入批处理类
示例:作业 XML 文件
<batchlet ref="myBatchlet">
    <properties>
        <property name="myClass" value="org.jberet.support.io.Person"/>
    </properties>
</batchlet>
<batchlet ref="myBatchlet">
    <properties>
        <property name="myClass" value="org.jberet.support.io.Person"/>
    </properties>
</batchlet>示例:Artifact Class
为属性注入注解的字段分配默认值
如果作业 XML 文件中未定义目标批处理属性,您可以为工件 Java 类中的字段分配默认值。如果将 target 属性解析为有效的值,它将注入到该字段;否则,不会注入值,并使用默认的字段值。
示例:Artifact Class