0

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

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

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

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

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

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

我不知道如何在 Business Central 中调用前面提到的方法。为了进行注册,我应该去一个特定的菜单吗?

提前致谢!

4

1 回答 1

1

如果您正在谈论此处理程序: 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) 中轻松复制,其中处理程序的注册是以声明方式完成的。因此,我建议扩展这个处理程序,在构造函数中引入新参数(即类转换器)并在构造函数中注册这个转换器(基本上复制粘贴 registerTransformer 的代码在构造函数中)。

于 2020-11-18T16:53:34.823 回答