我想使用camel->quartz组件来安排一些工作在指定的时间间隔完成。
但我希望以同步的方式做到这一点。意味着,计划作业的下一次执行只能在当前执行完成后开始。
我为 Servicemix 创建了路由和调度程序服务。
QuartzRoute.java
public class QuartzRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("quartz://myGroup/myTimerName?cron=0/1+*+*+*+*+?").process(new SchedulerService());
}
Run Code Online (Sandbox Code Playgroud)
}
SchedulerService.java
public class SchedulerService implements Processor {
public void process(Exchange exchange) throws Exception {
System.out.println("I'm running every 5 sec...");
Thread.sleep(5000);
System.out.println("Exiting iteration ");
}
Run Code Online (Sandbox Code Playgroud)
}
在这里,我希望“我每 5 秒运行一次...”和“退出迭代”每次都以相同的顺序打印。在某种程度上,我希望仅在当前执行完成后才能再次执行此 SchedulerService。
我想检查给定的 DateTime 是否匹配 unix cron 格式。我试图使用 Quartz,但 Quartz 不支持“Day of Month”和“Day of Week”都是“*”。
例如:
0 * * * * * (which means run every minutes) is not supported in Quartz
Run Code Online (Sandbox Code Playgroud)
因为它一定是
0 * * * * ? or 0 * * ? * *.
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么,并告诉我如何将给定的 DateTime 与 Unix cron 格式相匹配吗?
谢谢
我在 MVC 应用程序中实现了一个时间表,在每天午夜运行作业。这是代码。
IScheduler sched = container.Resolve<IScheduler>();
sched.JobFactory = new AutofacJobFactory(container);
sched.Start();
IJobDetail job = JobBuilder.Create<ProcessInvoiceJob>()
.WithIdentity("job1", "group1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithCronSchedule("0 0 * * * ?")
.Build();
sched.ScheduleJob(job, trigger);
Run Code Online (Sandbox Code Playgroud)
我读了几篇文章,其中包含午夜 12 点的 cron 表达式为“0 0 * * * ?”
例如: http: //blog.bobcravens.com/2009/10/an-event-based-cron-scheduled-job-in-c/
问题是我的计划每隔一小时执行一次......如何解决这个问题?
我有这个石英 cron 表达式:exp = "0 * * ? * *" 每分钟运行一次。我使用此表达式作为触发器,每分钟调用一次 HTTP POST 方法。问题是它多次调用 post 方法。我需要一个在一分钟内执行一次的表达式。有什么建议如何做到这一点吗?
我有一个 @Scheduled 方法,当我使用嵌入式 tomcat 构建 Spring Boot 应用程序时,该方法运行没有问题。但是当我在 .war 中构建项目并使用 tomcat v8 部署它时,调度程序似乎没有触发。其他功能运行良好,只是这个调度程序没有在我的服务器上触发。
@Component
public class DeleteUser {
@Autowired
private UserService userService;
@Autowired
private UserAuthoritiesService userAuthService;
private static final Logger logger = LoggerFactory.getLogger(DeleteUser.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
//(cron="second, minute, hour, day of month, month, day(s) of week")
@Scheduled(cron="0 0 8 * * *", zone="Asia/Kuala_Lumpur")
public void schedulerDeleteUser() {
List<User> ls = userService.getAllInactiveUser3Day(new Date());
try {
if(ls.size()>0) {
for(User user: ls) {
userService.updateStatusAccount(false, user.getId());
}
}
} …Run Code Online (Sandbox Code Playgroud) 我想编写一个简单的Groovlet,它定期运行一个任务并使用Jetty容器.完成此任务的最简单方法是什么?我认为应该使用Quartz,但我不确定它是如何与Jetty集成的.我是否需要创建一个控制面板来启动和停止任务?有什么简单的例子我可以看一下开始吗?
当我的进程收到消息时,它需要启动一个计时器并在X秒内执行一些逻辑.这些作业需要存储在JDBC存储中,据我所知,这可能与此问题无关.
根据我读过的内容,我应该能够为一个Job类分配一个具有不同类似属性值的JobDataMap,但是我无法找到任何文档或示例来支持这个用例.也许我的Google-fu很弱.
那有意义吗?有一个Job类,并以某种方式存储JobDataMap来填充该Job类并在每个消息的基础上运行它?
我正在尝试使用camel-quartzCamel组件在我们的应用程序服务器上安排作业(这项技术选择是最终的,并且高于我的薪水级别),而Apache提供的唯一文档(此处)是微不足道的,并且是超紧凑的,没有任何真正有用的示例对于骆驼/石英新手.
在我深入了解我的具体工作需求之前,我试图了解这里的大局.文档说明 - 通过Camel - Quartz定时器被设置为端点.所以我假设(请纠正我,如果我错了)这意味着您编写要运行的作业及其配置/属性文件,然后将Quartz计时器设置为Camel端点; 然后,当这些工作运行时,它们会以某种方式通过Camel与其他端点进行通信(?).
那么使用camel-quartz而不仅仅是Quartz(它允许你的工作与其他端点通信)的唯一好处是什么?
Quartz可以配置一个quartz.properties文件,并需要其他配置,以便可以初始化Scheduler.并camel-quartz照顾这对你?我想专注于编写工作,但不确定需要什么样的最小XML或属性配置.
提前感谢任何能够帮助澄清这一camel-quartz开发过程的人.
我对Quartz有点新意.有没有办法更新已提交的Quartz作业的作业执行间隔?此间隔是否立即更新?重新安排后,你是否必须再次开始这项工作?
我找到了以下链接,但我不知道哪些库是代码,因为我的石英罐不包含链接中使用的一些类.此外,triggerKey方法来自哪里?这是某种静态导入吗?
http://quartz-scheduler.org/documentation/quartz-2.x/cookbook/UpdateTrigger
我希望在我的一个JUnit测试用例中将作业执行间隔更新为一个非常大的数字,因为我不希望该作业干扰被测试类的状态.测试用例完成后,我想将作业执行间隔重置为将在生产中使用的实际值
我的grails应用程序应该使用两个插件:shiro和quartz2.
我将两个插件添加到BuildConfig.groovy:
(在那个ide之后下载了它们)
依赖关系中的问题:shiro取决于shiro-quartz:1.2.0和来自org.opensymphony.quartz的shiro-quartz 1.6.1
我想知道为什么但是quartz2正在寻找方法实现到quartz-1.6.1.jar.Quartz2无法找到实现,这就是无法构建项目的原因.我认为quartz2应该在"普通"石英lib中搜索方法实现,比如quartz:1.0-RC7,但他没有.
那么,我怎样才能解决shiro和quartz2插件的冲突?
我听说依赖排除,但我不确定这个sugesstion.
PS与石英(不是quartz2)发生同样的问题
grails quartz-scheduler dependency-management grails-plugin shiro
quartz-scheduler ×10
java ×8
cron ×3
apache-camel ×2
c# ×1
cron-task ×1
grails ×1
groovy ×1
integration ×1
jetty ×1
quartz ×1
scheduling ×1
shiro ×1
spring ×1
spring-boot ×1
tomcat8 ×1
unix ×1