Deltaspike @ Запланировано в jar-файле - PullRequest
0 голосов
/ 16 октября 2018

У меня есть веб-приложение (jee7, war, работает на Wildfly 10).

Приложение зависит от jar-файла, содержащего jpa-сущности и службы, используемые в различных проектах.

Я добавил Deltaspike Scheduler Module в соответствии с документацией к jar-проектуpom-файл, но с @Scheduled аннотированными заданиями / Runnables не выполняются с желаемой скоростью / временем, они вообще не выполняются.

Когда я создаю те же аннотированные классы в проекте war / main,все отлично работает

Так есть ли способ указать Deltaspike также учитывать аннотированные классы в файле jar?

1 Ответ

0 голосов
/ 17 октября 2018

Я наконец понял:

Хотя задание:

@Scheduled(cronExpression = "0 0/1 * * * ?")
public class TimeLogger implements Job {

  @Inject
  private Logger logger;

  @Override
  public void execute(JobExecutionContext context) throws JobExecutionException {
    logger.info(new Date().toString());

  }
}

запланировано при размещении в главном проекте, оно не запланировано в файле jar.

Чтобы это исправить, мне просто нужно было добавить аннотацию области (@Dependend, @ApplicationScoped, ...).

Итак, мой библиотечный класс теперь выглядит так:

@Dependent
@Scheduled(cronExpression = "0 0/1 * * * ?")
public class TimeLogger implements Job {

  @Inject
  private Logger logger;

  @Override
  public void execute(JobExecutionContext context) throws JobExecutionException {
    logger.info(new Date().toString());

  }
}

и работает как шарм;)

...