2013-04-25 3 views
1

Как я могу добавить недвижимость:Spring Batch: Работа свойство

<property name="myProperty" value="value"/> 

Для определения пакетного задания:

<batch:job id="MyJob"> 
    <batch:description>description</batch:description> 
    <batch:step id="step0"> 
     <batch:tasklet ref="MyJobCls"/> 
     <batch:listeners> 
      <batch:listener ref="MyJobkListener"/> 
     </batch:listeners> 
    </batch:step> 
</batch:job> 

тогда я могу использовать это свойство в моем во время выполнения.

ответ

2

Вы можете иметь свойства во внешнем файле или вводить его в PropertyPlaceholderConfigurer из XML:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"><value>my_config.properties</value></property> 
    <property name="properties"> 
    <props> 
     <prop key="myProperty">value</prop> 
    </props> 
    </property> 
</bean> 

Подробнее здесь: Using Properties in spring config

Кроме того, если вы бежите вы перерабатывают с помощью CommandLineJobRunner вы можете установить его командная строка, используя -D (How do I read JVM arguments in the Spring applicationContext.xml) а-DmyProperty = значение

для значения MyProperty в MyJobCls/MyJobkListener у вас есть на лугах опционов:

аннотаций How can I inject a property value into a Spring Bean which was configured using annotations?

или инъекционные из XML-конфигурации: http://www.mkyong.com/spring/spring-propertyplaceholderconfigurer-example/

+0

спасибо за ваш ответ, им нужно добавить свойства для Spring Batch Job (не регулярный компонент) Yosefarr

+0

, чтобы вы хотели иметь эти параметры в ChunkContext? (ChunkContext.getStepContext(). GetStepExecution(). GetJobExecution(). GetExecutionContext()) – user1121883

+0

Можете ли вы описать, как вы планируете использовать свойства? –

0

Я немного смущает, что вид собственности вы спрашиваете. Строка или какой-либо вид или ссылка весна управляемых бобы.

Если вы хотите, чтобы какая-то пара слов-символов была задана в параметре spring-batch-job. он будет доступен для всей работы со всеми шагами /.

Если вы хотите иметь какое-либо свойство для ссылки/класса, добавьте это свойство/класс в качестве переменной-члена с установщиком и получателем в свой пользовательский или специализированный класс заданий. Вы можете сделать то же самое и для свойства string.

Смежные вопросы