问题标签 [apache-commons-scxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
606 浏览

java - how to read datamodel values from Apache-commons scxml api in java

I am using SCXML in my java application. I am using apache-commons-scxml api to implement the state machine. I am able to set the value in data model through sxml api but not able to read that value in java code.

Each time read operation fetch the default value that is set in scxml document instead of reading the latest value that is set at runtime. However if we log the expression in scxml doc for the same value then it will print the updated value but in java code I am not able to get the updated value.

Below is the datamodel:

Reading the data model:

Setting the value:

Reading the value:

All the time read operation gives the value "F" not "dummy" that is set at runtime. Any idea how to read the updated value(in this case "dummy") of the node in java code through apache commons-scxml api?

0 投票
1 回答
199 浏览

java - 如何在 apache commons SCXML 的相同状态下再次调用 Invoker

我在我的项目中使用 Apache commons SCXML 来维护状态机。一旦执行到定义调用程序的状态的转换,我们就使用调用程序执行一些活动。

当调用者从同一状态调用两次时,问题就来了。例如,从状态“A”触发事件“TEMP”,然后它移动到状态“B”。并且一旦它进入状态“B”调用者被调用并且调用者类的回调方法invoke()被调用。

当从状态 A 再次触发事件“TEMP”并且没有调用 Invoker 时,问题就来了。invoke() 方法不再被调用。调用者只能调用一次吗?

请让我知道如何再次调用调用者/调用()。我在互联网上没有得到太多帮助。

提前致谢。

0 投票
1 回答
681 浏览

scxml - 从 scxml 中的状态转换

我正在尝试使用 Apache scxml 实现控制流。我的状态转换就像

作为状态机,它工作正常并且没有任何问题。但我有几个要求,我面临的问题

  1. 我必须检查每个状态中的外部事件,如果该事件为真,我必须进入循环的最后一个状态。实现这一目标的最佳方法是什么?

  2. 有可能当我在里面时,state2我可以去state4state5通过state3. state3在检查条件后,我是否可以触发事件或更改state4状态state5

上述两个问题似乎都有相同的解决方案,但我无法找出实现它们的最佳方法。

0 投票
1 回答
318 浏览

java - Apache SCXML:添加自定义操作

我正在使用 Apache Commons SCXML 0.9,但找不到如何添加 CustomAction。我找到了使用 v2.0-SNAPSHOT 的示例(顺便说一句,我不知道从哪里得到它),但似乎在 v0.9 上不起作用,到目前为止我得到了这样的东西:


对于 v2.0-SNAPSHOT,我可以写:

之后,获取SCXMLExecutor并调用该SCXMLExecutor.go方法,但我找不到 v0.9 的任何选项,请在这里需要您的帮助。
最好的祝福

0 投票
1 回答
446 浏览

transitions - 有条件的目标在SCXML 中支持的块?

我想在 SCXML 中实现这种条件转换:

SCXML 是否支持这种条件目标?
将其放入 SCXML 语言中,是否可能等效于以下代码段?

将不胜感激任何指向他们的文档。为此/替代策略来处理它。
谢谢。

0 投票
0 回答
99 浏览

scxml - Commons SCXML2 无法跳转到提供的状态

我正在使用具有状态和任务的 commons SCXML2 来控制工作流引擎,最初引擎以初始状态启动并在流中执行状态和任务。我们的要求是,如果工作流退出,我们希望保持状态。我们将状态存储在要从中恢复工作流的数据库中。现在我无法以给定的状态恢复工作流程。我尝试了什么...

我无法找到如何跳转到给定状态并使用上面的代码来执行此操作,但这对我没有帮助。

0 投票
0 回答
193 浏览

xml - 在 scxml 中的转换条件评估中调用自定义函数

我想script在评估condintransition块时调用标签中定义的自定义函数。

例如,我想将函数定义为:

然后我想在转换 eval 表达式中调用它们(有副作用):

是否可以在 scxml 状态机定义中完成此操作?

0 投票
1 回答
294 浏览

recursion - scxml 事件中的循环调用

我有一个带有“调用”元素的 scxml 事件。当事件被调用时,这个调用元素会更新数据模型元素。我怎样才能使这种情况定期发生?例如,是否可以每秒定期调用此调用?或者也许每秒都过渡到事件?

后者的问题是,如果我在调用的 finalize 部分放置一个转换,调用它自己,它似乎不会多次调用调用部分。

0 投票
1 回答
132 浏览

java - 从 SCXML 文件生成有限状态机的所有转换

我已经用 SCXML 实现了状态机,我需要知道如何获得从头到尾的所有转换,以便为状态机制作测试用例

0 投票
0 回答
32 浏览

java - 使用 Java 通过 SCXML2 并行执行状态

我有一个最初采用这种方式的 scxml 文件

并在这些状态下执行,我有一个像这样的java代码

现在,我正在尝试引入一些并行性并将 scxml 文件更改为如下所示

现在,我在执行这些并行包含的状态 Issue_1 和 Issue_2 时遇到了一些麻烦。

我试过的

但这从根状态开始,我无法按顺序或并行运行像 Issue_1 和 Issue_2 这样的父状态。

我尝试使用

我期望知道什么?

  • 实现并行可执行状态机的巧妙方法是什么
  • 或者,至少,我怎样才能从给定状态启动 SCXMLExecutor(如 "Issue_1" ... )

先谢谢各位