小编Sai*_*thi的帖子

camunda 中的 Receivetask 未按预期工作

我们在大多数项目中一直使用 camunda 7.4 版本以及 camunda-bpm-spring-boot-starter 1.1.0。

我们有一个项目,在 camunda 流中,我们尝试将消息发布到消息代理,该消息在内部由另一个系统使用,并将新消息重新发布到同一个消息代理。然后我们触发一个 receiveTask 来接收该消息并进一步处理。为了收听传入的消息,我们使用 org.springframework.amqp.core.MessageListener 并在 onMessage() 方法中为 receiveTask 定义消息关联。但是我们这样做会遇到以下错误

org.camunda.bpm.engine.MismatchingMessageCorrelationException:无法关联消息“ReceiveAmsharedResponse”:没有流程定义或执行与参数匹配

我们试图找出问题出在哪里?是在我们使用的camunda 版本中还是问题出在receiveTask 的使用上。我们尝试了https://docs.camunda.org/manual/7.4/reference/bpmn20/tasks/receive-task/ 中定义的所有方法,但没有成功。

对于 createMessageCorrelation 方法,我们得到了上述错误。对于其他方法,我们得到一个 NPE,因为 EventSubscription/Execution 对象为空。

示例 Camunda 流接收任务用法如下:

 <bpmn2:receiveTask id="ReceiveTask" name="Receive Task" messageRef="Message_06nl07f">
  <bpmn2:incoming>SequenceFlow_xyz</bpmn2:incoming>
  <bpmn2:outgoing>SequenceFlow_190m9nx</bpmn2:outgoing>
</bpmn2:receiveTask>
......
......
<bpmn2:message id="Message_06nl07f" name="Message" />
Run Code Online (Sandbox Code Playgroud)

和示例消息关联代码:

 class XYZ implements MessageListener {
 onMessage() {
    runtimeService.createMessageCorrelation("Message")
                .processInstanceBusinessKey(resourceId)
                .setVariable(ACTIVITY_RESULT, activityResult)
                .correlate();
 }
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激?

谢谢,维斯瓦纳特

spring camunda

5
推荐指数
1
解决办法
3256
查看次数

Spring MVC表单验证不适用于嵌套的复杂类型

我正在使用表单验证实现示例Spring MVC表单。我有一个复杂的类型Address作为Student表单bean的bean属性。并且我@NotEmptyAddressbean属性添加了表单验证。但是,UI中并未反映出同样的情况。但是表单验证适用于其他原始类型的Student表单bean。

所以,验证完全适用于Student表单bean而不是嵌套复杂类型,如AddressStudent的form bean。

我正在尝试了解原因和解决方法。

春季版本4.0+。休眠验证器API:5.2.4

Student POJO:

package com.xyz.form.beans;

import java.util.Date;
import java.util.List;

import javax.validation.constraints.Past;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;

import com.xyz.validators.DateNotEmpty;
import com.xyz.validators.ListNotEmpty;

public class Student {
    @Size(min = 2, max = 30)
    private String firstName;
    @Size(min = 2, max = 30)
    private String lastName;
    @NotEmpty
    private String gender;
    @DateNotEmpty
    @Past
    private Date DOB;
    private String email;
    private String mobileNumber;
    @ListNotEmpty
    private List<String> …
Run Code Online (Sandbox Code Playgroud)

java forms validation spring spring-mvc

1
推荐指数
1
解决办法
1181
查看次数

标签 统计

spring ×2

camunda ×1

forms ×1

java ×1

spring-mvc ×1

validation ×1