首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Deltaspike @Scheduled in jar文件

Deltaspike @Scheduled in jar文件
EN

Stack Overflow用户
提问于 2018-10-16 21:42:06
回答 1查看 48关注 0票数 0

我有一个web应用程序(jee7,war,在Wildfly 10上运行)。

该应用程序依赖于一个jar文件,该文件包含在不同项目中使用的jpa实体和服务。

我已经根据文档将Deltaspike Scheduler Module添加到jar项目的pom文件中,但是使用@Scheduled注释的Job/Runnables不会以所需的速率/时间执行,它们根本不会执行。

当我在war/main项目中创建相同的带注释的类时,一切都很正常。

那么,有没有办法让Deltaspike也考虑jar文件中带注释的类呢?

EN

回答 1

Stack Overflow用户

发布于 2018-10-17 18:29:40

我终于想通了:

而工作是:

代码语言:javascript
复制
@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,...)。

所以我的库类现在看起来像:

代码语言:javascript
复制
@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());

  }
}

像个魔法师一样工作;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52836890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档