You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JBPM 7.31任务重分配后能否重发通知及实现方法咨询

JBPM任务重分配后重发通知的实现方案

JBPM默认不会在任务重分配时自动触发原有Task Evolution的通知逻辑,要让新的潜在所有者组收到通知,可通过以下几种方式实现:

1. 自定义任务事件监听器

通过监听任务重分配事件,手动触发通知发送:

  • 实现TaskEventListener接口,重写afterTaskAssignedEvent方法(该事件覆盖任务首次分配和重分配场景)
  • 在方法中获取重分配后的潜在所有者组,调用JBPM的通知服务发送消息
  • 代码示例:
public class TaskReassignmentNotifier implements TaskEventListener {
    @Override
    public void afterTaskAssignedEvent(TaskEvent event) {
        Task targetTask = event.getTask();
        List<OrganizationalEntity> newPotentialOwners = targetTask.getPeopleAssignments().getPotentialOwners();
        
        // 获取JBPM邮件通知服务实例(需提前配置邮件参数)
        EmailNotificationService notificationService = ServiceRegistry.getService(EmailNotificationService.class);
        
        for (OrganizationalEntity entity : newPotentialOwners) {
            if (entity instanceof Group) {
                String groupId = ((Group) entity).getId();
                notificationService.sendToGroup(
                    groupId,
                    "任务重分配通知",
                    "您所在的组[" + groupId + "]已被分配新任务:" + targetTask.getName()
                );
            }
        }
    }
}
  • 将监听器注册到TaskService:
TaskService taskService = RuntimeEngine.getRuntimeEngine(null).getTaskService();
taskService.addEventListener(new TaskReassignmentNotifier());

2. 扩展Task Evolution通知配置

在流程设计器中直接添加重分配触发的通知规则:

  • 打开任务的Notifications配置页,新增一条通知规则
  • 设置触发条件为Task is reassigned,接收者选择Potential Owners
  • 确保流程引擎配置参数org.jbpm.task.event.listeners.enabled已设为true(默认可能开启,若未生效需检查kie-server配置文件)

3. 通过BPMN事件触发通知

在流程中添加事件节点,监听重分配信号并调用通知服务:

  • 插入一个Intermediate Catch Event,选择信号类型,信号ID设为TaskReassigned
  • 连接该事件到一个服务任务,服务任务中实现通知发送逻辑(参考第一种方式的代码)
  • 确保任务重分配时会抛出TaskReassigned信号,可通过自定义代码或JBPM内置事件触发

验证方法

完成配置后,执行任务重分配操作,检查新组用户的收件箱或通知中心是否收到消息,同时查看JBPM服务器日志,确认通知服务是否被正确调用。

内容的提问来源于stack exchange,提问作者Francesco Motta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:30:57