当前位置: 首页 > 知识库问答 >
问题:

在spring状态机中丢失在DefaultStateMachineExecutor中维护的延迟事件列表

容寒
2023-03-14

背景:

在我们典型的状态机工作模型中,我们使用状态机来监控spring cloud stream微服务所做的spring-batch处理。更准确地说,我们创建了流,比如说,命名为ItemStream,部署了源、过程、接收器微服务,这些服务可以批量读取、处理和写入记录;分别。在执行这些活动时,我们激发REST调用,每个调用由流操作之间的一个事件组成。我们在状态机微服务中使用这些REST调用,并相应地在机器实例上激发这些事件。在状态机级别,每次处理完成后,我们使用JPA/Redis状态机Persister将状态机上下文持久化到持久存储区(数据库/Redis缓存)。当从流中接收到新的REST调用时,我们从持久存储恢复机器上下文,并用它填充一个新的状态机对象;以便使新机器对象具有先前存在的机器状态。注意:这里的“填充新鲜状态机对象”只是意味着我们每次都使用机器工厂调用创建新实例,因为我们还没有插入机器对象池实现,以便在需要时推送和弹出StateMachine的已用对象,而不是每次都创建新鲜的新实例。

**2.**在spring文档中给出的简单状态机示例中,我尝试配置延迟事件,它工作正常,在达到有效状态后,停泊事件确实会自动触发。在这些示例中,从第一个事件到最后一个事件,状态机一直在启动和运行。因此,机器的相同实例对象持有相同的DefaultStateMachineExecutor实例直到工作结束。

3.Maven依赖项库版本如下:

a.spring-stateMachine-core:2.0.0b.spring-stateMachine-UML:2.0.0

共有1个答案

程旭尧
2023-03-14

是的,这需要对机器本身进行一些改变。这是一个有点复杂的问题,一般来说,我们需要持久地彻底检查其他事件相关的事情。这些在gh-550中被跟踪

 类似资料:
  • 我有复选框和提交按钮。用户可以使用复选框和按钮单击筛选选项。但现在我要维护此复选框的状态事件。所以用户应该知道哪些复选框已经被选中,并且他们可以从复选框中过滤选项。到现在为止,我能够成功地使用复选框和按钮点击来过滤选项,但是不知道如何维护选中的复选框的状态事件。所以在页面刷新之后,用户应该能够识别选中的复选框事件。我将选中的复选框存储在数据库中作为一个数组,以后再检索它。这里是我的代码:js代码:

  • 我目前在react native中有一个函数,它执行以下操作: 我运行上述命令,可以确认arrayId和title变量有效并包含数据。arrayId也不是“selectProduct”。我在调试时在那里添加了一个console.log,以确保它运行,事实上确实如此。我期望的行为是状态立即更新。 但是,所选下拉列表的状态不会更新。在this.setState更新之后添加:console.log(th

  • 我已经使用Spring状态机一年多了,现在根据我的需求尝试了不同的实现方法,当我使用UML时,我遇到了一个严重的问题。 我使用纸莎草来绘制UML,我有许多UML存储在某个位置。我需要使用的是动态选择的。这已经做得很成功了。现在我遇到了一个严重的问题。下面是我如何调用UML的代码。 您可以看到,我使用了新的UmlStateMachineModelFactory(资源); UmlStateMachin

  • 我试图更好地理解梁计算模型,并检查我的问题是否可以在该模型内解决。 假设我有一系列事件, 我想建立管道: 读取事件流 我读过关于有状态处理的内容,据我所知,在StatefulParDo中维护用户的最大分数很容易。但这种状态是如何存储的是Beam实现的细节,而这种状态在StatefulParDo函数之外是不可用的。 是否有可能在某种可供外部消费者(我的管道之外的读取器)使用的KV存储中以定义良好的格

  • 我有一个模式,用户需要填写他的电子邮件广告。问题是输入字段在每次键入字母后都会失去状态。 父组件: 示例MailingModal: 文本输入: 我在其他几个地方使用输入字段。但在我的模态中,它不是。我做错了什么?

  • 我在Spring Boot应用程序中从聚合根发布事件时遇到了困难。我基本上想要的是在每次关于一个人的一些信息被更改时发布一个“更新”事件。这方面的代码非常简单: 我正在通过管理器管理实例: 然而,当我调用manager(时,事件似乎“丢失”了:在调用方法时,所有事件仍然存在,但是当Spring调用时,集合是空的。 那么我怎么才能回到正轨呢?