我需要在Grails Quartz插件作业的执行之间保持一个计数器值。它以正确的时间间隔运行,我可以设置jobDataMap并正确地读回值(在相同的执行运行期间),但它拒绝在执行之间记住它。
我按照文档的建议设置了concurrent=false
。有什么想法吗?我只需要坚持并递增一个计数器。如果可能的话,我想避免使用数据库,我想这应该只是使用内存?或者有其他工作?
package myPackage
class MyJob {
static triggers = {
simple repeatInterval: 5000l // execute job every 5 seconds
}
def concurrent = false // Don't run multiple simultaneous instances of this job
def execute(context) {
if(context.jobDetail.jobDataMap['recCounter'] == null) { context.jobDetail.jobDataMap['recCounter'] = 1 }
else { context.jobDetail.jobDataMap['recCounter'] = context.jobDetail.jobDataMap['recCounter'] + 1 }
println(context.jobDetail.jobDataMap['recCounter'])
}
1
1
1
1
etc..
我在应用程序中从未使用过context
对象,但可以直接实现计数器:
class MyJob {
//some static stuff
AtomicInteger counter = new AtomicInteger()
def execute(context) {
counter.incrementAndGet()
println counter.intValue()
}
}
使用可用选项(localStorage,Cookie等)将树的状态(选定节点,打开的节点)保存在用户计算机上 $.jstree.defaults.statestate plugin 存储状态插件的所有默认值 $.jstree.defaults.state.keystate plugin 保存当前树时使用的键的字符串(如果在项目中使用多个树,则更改)。默认为 jstree. $.jstree.def
Build.Gradle: 作业配置: 运行批处理作业的main(): 定义两个读取器的Bean配置如下: 以前的研究: 我对异常消息的搜索:所需的类型“org.springframework.data.mongodb.core.query.query”未获取任何相关结果。使用关键词的研究,如这个问题标题中的关键词,也没有提供多少线索。 现在以以下跟踪结束:
我有一个应用程序,客户机发送HTTP请求,这些请求被翻译成Spring批处理作业参数并触发一个作业。我为响应和作业执行的结果生成。 此时,我无法获得正在运行的作业的。 获取它的方法是查询表,该表以作为键/值,因此我使用条件进行查询: 从这里开始,我希望向客户提供正在运行/或正在运行的作业的全部详细信息,包括当前步骤及其状态的详细信息。所以json有效负载应该如下所示: 我知道spring batc
问题内容: 我试图了解React的有状态和无状态组件之间的确切区别。好的,无状态组件只会做某事,但是什么也不会记住,而有状态组件可能会做同样的事情,但是它们会记住其中的内容。那是理论。 但是现在,在检查如何使用代码显示此内容时,我有点麻烦了。以下两个示例对吗?唯一的区别确实是函数的定义。 无状态组件的示例: 有状态组件的示例: 问题答案: 是的,那是有区别的。除了有 状态 组件,您还可以使用以下方
问题内容: 我刚刚开始学习angularjs,并且正在使用angular-ui- router。我正在尝试使用一种状态将数据从一种状态发送到另一种状态,但是我没有成功。这是我到目前为止的内容: 我没有故意包含html,因为我假设不需要它,请告诉我,我将添加它。 我将状态配置如下: 调用my时,将执行以下代码: 当页面处于活动状态时,我正在尝试打印: 正如状态所示,$ stateParams是一个空
问题内容: 如果构建失败,我需要运行某些shell命令。是否有任何传递给shell的变量包含此类信息?或者也许我可以在文件中找到它? 我需要这样的东西: 我已经打印过了,没有什么可以直接说构建失败了。 问题答案: 您正在寻找条件构建步骤插件。添加“条件步骤(单个)”作为最后的构建步骤,并使用“当前构建状态”作为条件。我喜欢这个插件,但是还没有使用这个特殊条件。