Jetty 中的计划任务
我想编写一个简单的 Groovlet,它定期运行任务并使用 Jetty 容器。完成这项任务最简单的方法是什么?我认为应该使用 Quartz,但我不确定它如何与 Jetty 集成。我是否需要创建一个控制面板来启动和停止任务?有没有一些简单的示例可以让我开始使用?
I would like to write a simple Groovlet which runs a task periodically and am using a Jetty container. What's the easiest way to accomplish this task? I'm thinking that Quartz should be used but I'm not sure how it integrates with Jetty. Do I need to create a control panel for starting and stopping the tasks? Are there any simple examples that I can look at to get started?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
比 Quartz 更简单的解决方案是使用 JDK 提供的 Timer 和 TimerTask 类。它们没有提供广泛的调度选项,但如果您只想以固定的时间间隔运行任务,它们应该足够了。
如果您需要一个控制台来停止启动任务,您要么需要自己编写它,要么编写一个提供对计时器的访问的 JMX bean 并使用 JMX 控制台来调用它。
A simpler solution than Quartz is to use the Timer and TimerTask classes provided by the JDK. They don't provide as wide a variety of scheduling options, but if you just want to run a task at fixed intervals, they should suffice.
If you need a console to stop start the task, you'll either need to write that yourself, or write a JMX bean that provides access to the Timer and use the JMX console to invoke it.
您必须创建一个作业配置文件“jobconf.xml”或一个属性文件,必须在其中配置作业。该文件必须添加到应用程序的类路径或 jetty 的类路径中。
您必须将 QuartzInitializer 添加到您的 web.xml 和 servlet 参数中,如下所示:
以及 servlet 中的使用调度程序:
You have to create a job config file "jobconf.xml" or a property file, in which the jobs must be configured. This file must be added into either application's classpath or jetty's.
You have to add QuartzInitializer into your web.xml and the servlet params like following:
and the usage scheduler in your servlet :
创建一个 Quartz 调度程序并将其放入应用程序上下文中。任何 Groovlet 都可以访问它,并且能够提交新任务并操作正在运行的任务。
Create a Quartz scheduler and put it in the application context. Any Groovlet will be having access to it and will be able to submit new tasks and manipulate running ones.