@Schedule 相当于 Guice:以指定的时间间隔执行 @singleton 中的任务

发布于 2024-12-02 13:42:47 字数 334 浏览 1 评论 0原文

我正在使用 Google Guice、Guice servlet 和 Jersey。我想找到一种在 JVM 中运行计划作业的简单方法。我发现以下 EJB 示例创建了“带有 @Schedule 方法的 @Singleton EJB,该方法以指定的时间间隔在后台执行”。这正是我想做的,但希望看到一种简单的方法来做到这一点,而不添加 EE 依赖项。

Java邮件如何根据条件自动发送电子邮件

I'm using Google Guice, Guice servlet, and Jersey. I'd like to find an easy way to run scheduled jobs in the JVM. I found the following EJB example that creates "a @Singleton EJB with @Schedule method which executes in the background at specified intervals." This is exactly what I'd like to do but wanted to see an easy way to do this w/o adding an EE dependency.

Java mail how to send automatically an email on condition

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

任谁 2024-12-09 13:42:48

您可能会发现 Guice 的 Quartz 集成可以满足您的要求 -

https://github.com/99soft/guartz

这是语法示例

@javax.inject.Singleton
@org.nnsoft.guice.guartz.Scheduled(jobName = "test", cronExpression = "0/2 * * * * ?")
public class com.acme.MyJobImpl implements org.quartz.Job {

    @javax.inject.Inject
    private MyCustomService service;

    public void execute(JobExecutionContext context) throws JobExecutionException {
        service.customOperation();
    }

}

You might find the Quartz integration for Guice meets your requirements here -

https://github.com/99soft/guartz

Here's an example of the syntax

@javax.inject.Singleton
@org.nnsoft.guice.guartz.Scheduled(jobName = "test", cronExpression = "0/2 * * * * ?")
public class com.acme.MyJobImpl implements org.quartz.Job {

    @javax.inject.Inject
    private MyCustomService service;

    public void execute(JobExecutionContext context) throws JobExecutionException {
        service.customOperation();
    }

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文