在 JBPM 中转换自定义任务

Transform Custom Task in JBPM

我正在使用 Business Central (JBPM),我正在尝试使用自定义任务 Transform 将 Java 输入对象转换为输出对象。

如你所见,我已经安装了工作任务,相应的处理程序也已就位。

在相应的数据分配中,我已经设置了输入和输出对象,但是当我开始该过程时,我得到以下信息。

09:57:05,321 ERROR [org.jbpm.process.workitem.transform.TransformWorkItemHandler] (default task-44) Failed to find a transform

这意味着我没有包括用@Transformer注释的相关转换方法。在处理程序 class 中,我看到必须调用方法 registerTransformer(Class<?> transformer) 才能加载变压器。

我不知道如何使用 Business Central 调用前面提到的方法。是否有我应该去的特定菜单才能进行注册?

提前致谢!

如果你在谈论这个处理程序: https://github.com/jhonfx/jbpm-examples/blob/master/krisv-jbpm/jbpm-workitems/src/main/java/org/jbpm/process/workitem/transform/TransformWorkItemHandler.java 这是一个非常古老的 - 8 年没有维护。它不再是核心 jBPM 仓库的一部分。但是,如果您确实需要使用它..

这是它的用法:

        TransformWorkItemHandler transformWorkItemHandler = new TransformWorkItemHandler();
        transformWorkItemHandler.registerTransformer(FileTransformer.class);
        ksession.getWorkItemManager().registerWorkItemHandler("Transform", transformWorkItemHandler);

不幸的是,这种调用“registerTransformer”方法的方式无法在 RHPAM 7 (jBPM7) 中轻松复制,其中处理程序的注册是以声明方式完成的。因此,我建议扩展此处理程序,在构造函数中引入新参数(即 Class 转换器)并在构造函数中注册此转换器(基本上是在构造函数中复制粘贴 registerTransformer 的代码)。