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

Activiti框架:结果变量名称奇怪的行为

孔茂
2023-03-14

我刚刚开始使用活动框架。我给我的Spring启动应用程序添加了依赖项,并想测试非常简单的sequnce流,但我被奇怪的行为卡住了。

所以,我有2个简单的服务,没有任何业务逻辑。

@Service
public class Service1{

    public void m(String id) {
        log.info("Service1 Id {}", id);
    }
} 



@Service
public class Service2{

    public void m(String id) {
        log.info("Service2 Id {}", id);
    }
}

和带有进程定义的xml文件:

    <startEvent id="startEvent" name="Start"></startEvent>

    <serviceTask id="service1Task" name="service1"
                 activiti:expression="${service1.m(id)}"
                 activiti:resultVariableName="id">
    </serviceTask>

    <serviceTask id="service2Task" name="service2"
                 activiti:expression="${service2.m(id)}">
    </serviceTask>

    <endEvent id="endEvent" name="End"></endEvent>

    <sequenceFlow id="flow1" sourceRef="startEvent" targetRef="service1Task"></sequenceFlow>
    <sequenceFlow id="flow2" sourceRef="service1Task" targetRef="service2Task"></sequenceFlow>
    <sequenceFlow id="flow3" sourceRef="service2Task" targetRef="endEvent"></sequenceFlow>

我放了一些控制器:

  Map<String, Object> variables = new HashMap<>();
   val id = UUID.randomUUID().toString();
   variables.put("id", id);

问题是:对于service1,它打印id,但是对于service2,它丢失id。在service2的调试器模式下,由于某种原因,参数id是空字符串。我不明白为什么...

共有1个答案

公孙辰龙
2023-03-14

答案是不需要在任何地方显示resultVariableName。定义的变量无论如何都是可用的。

 类似资料:
  • 我使用的是mongodb(v2.6.7)和mongo(2.6.7)shell客户端。 我正在尝试使用insert和update命令返回的WriteResult对象。 根据mongodocs,如果出现错误,它将返回一个writeResult对象,其中包含writeError子文档。但我无法在shell或mongo的javascript文件中访问此子文档。 下面是我的问题的说明。 我插入一个对象,并获

  • 为什么我得到一个空的输出?当我删除xml中的xmlns部分时,输出是预期的,但是intellisense不再工作了。 仓库xml 仓库xsl

  • 当试图从Hitbox API获取数据时,我得到了一个奇怪的结果。对于一个API的命令,这种情况每次都会发生,而对于另一个API的命令,这种情况只是有时发生。结果差不多是这样(这是我得到的最后一个结果): \U001F\B\0\0\0\0\0\U0003W8SμMU~S N T&N G6C$Z%9IGF[(\U0005\U000F(:6\U000F\B P C\U0015\N\U007F V\U00

  • 假设我们有这样的代码段: 这段代码产生了27的奇怪结果!!问题似乎在于使用变量名作为“name”,这似乎是一个保留关键字。 但有人能解释为什么会有这种奇怪的行为吗?

  • 我有一个程序可以读取两个文件(“incompleta.txt”和“completa.txt”),并比较两个文件中是否有相同的名称。其工作原理如下: 它将“completa.txt”中的所有名称存储在ArrayList中 问题是我的“lista.txt”看起来像这样:Image 第二条线完全是混乱和扭曲的。 我的Java代码:

  • 我使用Oracle11g(在Red Hat上)。我有一个带有XMLType列的简单常规表: 我使用Oracle SQL Developer(在Windows上): 很管用。我只有一个牢房。我可以双击并下载整个XML文件。 然后我试图以CLOB的形式得到结果: 很管用。我只有一个牢房。我可以双击并看到整个文本和复制它。但有个问题。当我把它复制到剪贴板时,我只得到前4000个字符。似乎在4000位置有