草庐IT

作业调度

全部标签

java - 在java中调度可运行的任务

我正在跟进一个有趣的question因此,关于使用ScheduledThreadPoolExecutor执行某些重复任务。调度此对象会返回一个ScheduledFuture对象,可以使用该对象取消任务的下一次运行。这里要注意的一点是任务本身与调度完全解耦--ScheduledExecutorServiceexecutor=newScheduledThreadPoolExecutor(1);ScheduledFuturenextSchedule=executor.schedule(task,60000,TimeUnit.MILLISECONDS);哪里-SomeTasktask=newS

java - Spring批处理仅限制单个作业实例

我有一个可以被restURL踢掉的springbatch作业。我想确保只允许运行一个作业实例。如果另一个实例已经在运行,则不要启动另一个实例。即使参数不同。我进行了搜索,但没有发现开箱即用的解决方案。考虑扩展SimpleJobLauncher。检查作业的任何实例是否正在运行。 最佳答案 你可以试试interceptthejobexecution,实现JobExecutionListener接口(interface):publicclassMyJobExecutionListenerextendsJobExecutionListene

java - 使用 java.util.timer 与 Quartz 进行调度的优缺点?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我必须编写一个应用来执行一系列任务:任务在每天0200时运行一次。任务在每天0400时运行一次任务从0003时开始以15分钟为间隔运行任务从0005时开始以15分钟为间隔运行使用普通java.util.timer与使用普通java.util.timer的优缺点是什么?quartz?我应该考虑其他替代方案吗?

java - 在后台作业时禁用 JButton,以避免多次点击

我需要阻止用户在JButton上进行多次点击,而第一次点击仍在执行。我能够为这个问题提供解决方案,但我不完全理解它为什么有效。下面我发布了有效的代码和无效的代码(修剪到最低限度)。在第一个示例(好)中,如果您运行它并多次单击按钮,则只有一个操作被视为第二个示例(坏),如果您多次单击鼠标,您至少会执行两次操作。第二个(错误的)示例根本没有使用invokeLater()方法。行为差异从何而来?importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.logging.Level;i

java - 你如何使用事件调度线程?

我了解到swing不是线程安全的。深入研究,我发现对swing组件的每次修改都必须在事件调度线程上完成,以防止与多线程相关的各种问题。然而,信息似乎就此止步了。似乎没有很好的教程来解释如何在Internet上的任何地方执行此操作。将发布的代码中与其他问题相关的信息拼凑在一起,似乎我必须在我的程序中的每个swing修改周围放置一个不整洁的代码块(就像我自己代码中的这个例子):try{SwingUtilities.invokeAndWait(newRunnable(){publicvoidrun(){setTitle("Frametitle");setDefaultCloseOperati

java - 具有多个调度程序的 Spring Java Config

我现在有一些Spring经验,也有一些纯Java配置Web应用程序正在使用中。然而,这些通常基于安静简单的设置:服务/存储库的应用程序配置一个调度器(和一些Controller)的调度器配置(可选)springsecurity来保护访问对于我当前的项目,我需要具有不同配置的独立调度程序上下文。这不是基于XML的配置的问题,因为我们有一个独立于DispatcherConfiguration的专用ContextLoaderListener。但是对于java配置,我不确定到目前为止我所做的是否正常;)这是一个通用的DispatcherConfig:publicclassMyWebAppIni

java - 当有多个 quartz 线程时,让 quartz 只在一个线程中执行作业

我想知道是否可以将quartz配置为在任何给定时间执行仅在一个线程中运行的长时间处理作业。换句话说,假设我配置了大小为5的SimpleThreadPool的quartz。我有一个作业每10秒触发一次,但在某些情况下可能需要超过10秒才能完成。有没有办法配置quartz触发器/作业/调度程序,以便该触发器不会再次触发,因为它已经在另一个线程中处于运行状态。当触发器再次触发时,池中的另一个线程将拾取它并同时运行同一作业的两个实例。感谢您的输入。澄清:(关于使用大小为1的线程池的建议)。要求是将线程池配置为5个线程,并且任何单个作业在任何给定时间仅在单个线程中执行,换句话说,一个作业的实例应

java - Spring Batch - 作业实例已存在 : JobInstanceAlreadyCompleteException

我在我的Spring应用程序中编写了一个简单的调度程序。我运行我的本地服务器,几秒钟后,在Importer类中,每5秒调用一次checker.start(),就像我在配置文件中配置的那样。之后,此方法使用JobLauncher调用Job,这里出现错误。org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException:Ajobinstancealreadyexistsandiscompleteforparameters={}.Ifyouwanttorunthisjobagain,changethep

调度队列清晰解释

我知道已经有很多有关调度队列,异步任务等的帖子,但是我无法从这些帖子中检索有用的解释,因为由于额外的代码,分散了很多干扰。我那里有人可以给我一个明确的指导,说明如何使任务B完成后完成?我需要一些来自任务A的数据才能成功运行任务B,并且我知道我必须使用dispatchqueue.async做点事,但是我不知道到底是怎么做的。看答案这样的事情怎么样?importDispatchletqueue=DispatchQueue(label:"Mydispatchqueue")//TODO:Givebetterlabelletresult1=queue.sync{//"TaskA"return"resul

安全防御(第六次作业)

攻击可能只是一个点, 防御需要全方面进行IAE引擎DFI和DPI技术---深度检测技术DPI ---深度包检测技术---主要针对完整的数据包(数据包分片,分段需要重组) ,之后对 数据包的内容进行识别。(应用层)1,基于“特征字”的检测技术---最常用的识别手段,基于一些协议的字段来识别特征2,基于应用网关的检测技术---有些应用控制和数据传输是分离的,比如一些视频流。一开始需要TCP建立连接,协商参数,这一部分我们称为信令部分。之后,正式传输数 据后,可能就通过UDP协议来传输,流量缺失可以识别的特征。所以,该技术就是基于前面信令部分的信息进行识别和控制。3,基于行为模式的检测技术---比如