我正在使用Spring网络应用,需要使用每隔一段时间在后台运行的预定方法,因此我创建了一个类" ScheduleDemo",一个属性文件&#34 ; schedule.properties"它放在我的应用程序中,并且还在我的applicationContext.xml中添加了几行,一切正常。 现在应该有一个更改,我需要将schedule.properties文件移动到我的应用程序之外,然后我对我的applicationContext.xml进行了一些更改,但发现调度的方法无法运行,下面是我的代码,是否有任何人可以提供解决方案吗?
ScheduleDemo.java
@Configuration
@PropertySource("classpath:schedule.properties")
@EnableScheduling
@EnableAsync
Public class ScheduleDemo{
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@Scheduled(cron="${email.schedule}")
public void doSomething() {
logger.info("Test if it is Okay");
}
}`
schedule.properties
email.schedule = 0 0 8 ? * WED
的applicationContext.xml
<task:executor id="executor" pool-size="5" />
<task:scheduler id="scheduler" pool-size="10" />
<task:annotation-driven executor="executor" scheduler="scheduler" />
然后当我将schedule.properties文件移到我的应用程序之外时,我在下面对applicationContext.xml进行了更改,我尝试了#34; file&#34;或&#34; classpath&#34;指向外部schedule.properties文件,但不成功。
更新了applicationContext.xml
<task:executor id="executor" pool-size="5" />
<task:scheduler id="scheduler" pool-size="10" />
<task:annotation-driven executor="executor" scheduler="scheduler" />
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>file:${app.config.location}/schedule.properties</value>
</property>
</bean>`