2
使用spring 4.3.1將任務調度到應用程序作用域bean中時出現問題。我的代碼是這樣的:Spring 4.3.1計劃任務運行兩次
@Component
@ApplicationScope
public class MyClassImpl implements MyClass {
@Scheduled(fixedDelayString = "60000")
@Transactional
public void method() {
do something...
}
}
計劃的方法運行兩次。我調試了應用程序上下文創建,並且似乎該bean只按預期加載了一次。 有人有一些建議嗎?
我加了BeanPostProcessor和我注意到,Spring框架實例2種豆一個名爲MyClassImpl和一個名爲scopedTarget.MyClassImpl如何避免這種行爲的任何想法?
應用程序(方法)將從上次方法運行完成後運行多次。根據下一次啓動之間的配置1分鐘延遲。如果您希望白天運行一次,則需要「cron」。 http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html – kuhajeyan
我希望這種方法每分鐘運行一次,但實際上它會連續運行2次每分鐘1-2秒延遲 – TheOni
@Transactional標記要創建的代理,因此創建的代理也會被解僱。可能是你想在外部方法調用方法()上註解@調度方法() – kuhajeyan