Здравствуйте, замечательные люди,
Я создал плагин Jira для выполнения конкретной задачи c, и мне нужно планировать этот вызов плагина каждые несколько часов. Я пытаюсь использовать аннотации Spring @Scheduled(fixedDelay = 6*1000)
для метода и @Component
@EnableScheduling
для моего класса Бина. Мой бин также использует InitializingBean, DisposableBean
, чтобы сделать для нас несколько кусочков до и после создания бина и до его уничтожения.
Теперь, когда я выполняю свои тесты на локальной машине (используя JUnit) вызов метода запланирован и работает нормально. Что кажется очень странным, что когда этот плагин установлен в Jira, который развернут на Tomcat, он, похоже, не запланирован. Методы afterPropertiesSet & destroy
вызываются должным образом, но не @Scheduled(fixedDelay = 6*1000)
За последние несколько дней я провел много исследований по этому поводу, а также нашел альтернативное решение с использованием планировщиков Atlassian, но не понимаю, почему @Scheduled(fixedDelay = 6*1000)
не работает?
Я пытался разместить всю необходимую информацию, но если чего-то не хватает, пожалуйста, спросите :-) Спасибо за вашу помощь !!
@Component
@EnableScheduling
public class RemedyJiraIntegrationListener implements InitializingBean, DisposableBean {
RemedyJiraIntegration remedyJiraIntegration = null;
public RemedyJiraIntegrationListener() {
remedyJiraIntegration = RemedyJiraIntegrationSingletonInstance.getInstance();
}
/**
* Called when the plugin has been enabled.
* @throws Exception
*/
@Override
public void afterPropertiesSet() throws Exception {
LoggingUtility.writeRemedyJiraLog("Installation of a plugin has scheduled a Job at : " + new Date());
// To-do
}
@Scheduled(fixedDelay = 6*1000)
public void scheduleFixedRateTask() {
LoggingUtility.writeRemedyJiraLog("Fixed rate task - " + System.currentTimeMillis() / 1000);
System.out.println(
"Fixed rate task - " + System.currentTimeMillis() / 1000);
}
/**
* Called when the plugin is being disabled or uninstalled.
* @throws Exception
*/
@Override
@PreDestroy
public void destroy() throws Exception {
LoggingUtility.writeRemedyJiraLog("Uninstallation or disablement of a Plugin started at : " + new Date());
// To-do
}
}