我尝试并行运行许多预定任务,每个实例都有一个实例 我像这样配置任务
<task:scheduled ref="PatchData" method="start" fixed-rate="1000"/>
但是有很多实例每秒开始,而第一个没有完成。是否可以同时配置任务的一个实例? 我在spring-scheduler.xml中的bean配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd">
<bean id="UpdateScheduler" class="org.ws.scheduled.UpdateScheduler" />
<bean id="PatchData" class="org.ws.scheduled.PatchData" />
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="UpdateScheduler" method="start" cron="0 30 14 * * *"/>
<task:scheduled ref="PatchData" method="start" fixed-rate="1000"/>
</task:scheduled-tasks>
<task:scheduler id="scheduler" pool-size="10"/>
答案 0 :(得分:1)
您可以在bean标记中添加配置文件设置。示例:
-Dspring.profiles.active=scheduledProfile
然后,启动您的应用程序,并将计划的配置文件激活为{{1}}
通过这种方式,此计划只能运行一个实例。