0

我是在 AS7 中运行 jBPM5.4 的 jBPM 菜鸟。我已经尝试在 jBPM 讨论板上发布这个问题,但没有运气,所以我想我会在这里尝试堆栈。

我的目标:在 guvnor 中创建进程,在 gwt-console-server 中运行它,将我的 java 应用程序提要信息提供给进程,并在 jbpm 控制台中遵循当前状态。

到目前为止,我已经在 jBOSS AS7 上安装了 jbpm 控制台和控制台服务器以及 Guvnor 和设计器。我能够在 Guvnor 中创建一个进程并从 jbpm 控制台运行和监视该进程。缺少的部分是我不明白如何从外部将消息插入到正在运行的进程中。

使用 eclipse 和 jBPM 示例,我可以运行进程并插入消息,但我的目标是使用 jbpm 控制台来监视进程。

我假设我需要访问在 gwt-console-server 中运行的知识会话,但我不知道该怎么做。访问/修改持久化到数据库的会话是否安全(即 gwt-console-server 和我的自定义应用程序都可以修改它)然后 jbpm 控制台会从中读取?

我在 BPM 控制台参考 ( https://community.jboss.org/wiki/BPMConsoleReference ) 中看到有一个集成层,但没有关于如何利用它的信息 - 文档中的类似内容已损坏:(

有人可以指出一个外部应用程序向 jbpm-console 监控的 jbpm 进程提供消息的示例,或者提出实现此目的的方法吗?

非常感谢您的任何见解。-J

PS。我有新的 jBPM 开发人员指南,但在其中找不到任何帮助我解决此问题的内容(因此,如果我遗漏了某些内容,我可以处理对该指南的引用)。

4

2 回答 2

1

jBPM 控制台有一个 REST api,它公开了部分功能。例如,如果您将此信息馈送建模为流程的开始或信号的发送,您可以使用信号 REST 方法将此信息发送到控制台进行处理。

使用外部 ksession 来更新流程实例也很好。只要他们使用相同的数据库来存储信息,一切都应该没问题。

于 2013-03-12T00:40:05.297 回答
0

事实证明,控制台只是在使用日志,所以只要您登录到控制台正在使用的同一个数据库(使用 JPAWorkingMemoryDbLogger),一切都会自动运行。您可以使用 JBPMHelper.newStatefulKnowledgeSession(kbase) 或 JBPMHelper.loadStatefulKnowledgeSession(kbase, sessionId),具体取决于您是否要使用从控制台启动的知识会话。另外,如果你借用了控制台的会话,当然不要丢弃它。

我在某处读到,您可以为会话提供一个业务 ID(很快就可以从您自己的代码中执行相同操作,以便它们自动使用相同的会话),但是目前当我想借用控制台的会话时,我使用了一个假设最高会话是我想要的会话(只要控制台已经在运行)。

于 2013-05-30T21:36:13.903 回答