I have scheduled the spring quartz job through xml .I have configured 10 multiple jobs
But my requirement is here is user can increase the no of schedulers at any point of time that is given in properties file .
If user changes the properties file next time the new schedulers will start without restarting the webserver. Here is my XML.. I have 5 schedulers and 5 jobs which has different paremeters.In future i want to increase to 10,right now i have to add 5 more jobs and schedulers and deploy in the server. but in future i dont want to redeploy the application and control using properties .So how can we achive this dynamically...Please help me
<!-- Event reader job -->
<bean id="eventReader1" class="com.EventReader">
<property name="taskID" value="0"></property>
<property name="maxHashSize" value="9"></property>
<property name="eventType" value="CNSMP"></property>
</bean>
<bean id="eventReader2" class="com.EventReader">
<property name="taskID" value="1"></property>
<property name="maxHashSize" value="9"></property>
<property name="eventType" value="CNSMP"></property>
</bean>
<bean id="eventReader3" class="com.EventReader">
<property name="taskID" value="2"></property>
<property name="maxHashSize" value="9"></property>
<property name="eventType" value="CNSMP"></property>
</bean>
<bean id="eventReader4" class="com.EventReader">
<property name="taskID" value="3"></property>
<property name="maxHashSize" value="9"></property>
<property name="eventType" value="CNSMP"></property>
</bean>
<bean id="eventReader5" class="com.EventReader">
<property name="taskID" value="4"></property>
<property name="maxHashSize" value="9"></property>
<property name="eventType" value="CNSMP"></property>
</bean>
<bean id="eventReaderScheduler1" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<bean id="trigger1" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<bean id="jobDetail1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="eventReader1" />
<property name="targetMethod" value="readEventsAndSendMessages" />
<property name="concurrent" value="false" />
</bean>
</property>
<property name="repeatCount" value="${eventReaderScheduler.repeatCount}" />
<property name="repeatInterval" value="${eventReaderScheduler.repeatInterval}"></property>
</bean>
</property>
<property name="autoStartup" value="${eventReaderScheduler.autoStartup}" />
</bean>
<bean id="eventReaderScheduler2" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<bean id="trigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<bean id="jobDetail2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="eventReader2" />
<property name="targetMethod" value="readEventsAndSendMessages" />
<property name="concurrent" value="false" />
</bean>
</property>
<property name="repeatCount" value="${eventReaderScheduler.repeatCount}" />
<property name="repeatInterval" value="${eventReaderScheduler.repeatInterval}"></property>
</bean>
</property>
<property name="autoStartup" value="${eventReaderScheduler.autoStartup}" />
</bean>
<bean id="eventReaderScheduler3" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<bean id="trigger3" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<bean id="jobDetail3" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="eventReader3" />
<property name="targetMethod" value="readEventsAndSendMessages" />
<property name="concurrent" value="false" />
</bean>
</property>
<property name="repeatCount" value="${eventReaderScheduler.repeatCount}" />
<property name="repeatInterval" value="${eventReaderScheduler.repeatInterval}"></property>
</bean>
</property>
<property name="autoStartup" value="${eventReaderScheduler.autoStartup}" />
</bean>
<bean id="eventReaderScheduler4" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<bean id="trigger4" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<bean id="jobDetail4" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="eventReader4" />
<property name="targetMethod" value="readEventsAndSendMessages" />
<property name="concurrent" value="false" />
</bean>
</property>
<property name="repeatCount" value="${eventReaderScheduler.repeatCount}" />
<property name="repeatInterval" value="${eventReaderScheduler.repeatInterval}"></property>
</bean>
</property>
<property name="autoStartup" value="${eventReaderScheduler.autoStartup}" />
</bean>
<bean id="eventReaderScheduler5" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<bean id="trigger5" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<bean id="jobDetail5" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="eventReader5" />
<property name="targetMethod" value="readEventsAndSendMessages" />
<property name="concurrent" value="false" />
</bean>
</property>
<property name="repeatCount" value="${eventReaderScheduler.repeatCount}" />
<property name="repeatInterval" value="${eventReaderScheduler.repeatInterval}"></property>
</bean>
</property>
<property name="autoStartup" value="${eventReaderScheduler.autoStartup}" />
</bean>