我对activiti比较陌生,我想知道是否有任何方法可以在activiti explorer中使用java代码部署甚至启动一个进程,例如,运行一个java应用程序为kermit创建一个任务,然后登录到activiti explorer并完成它。
发布于 2015-06-12 20:58:45
当然,这可以通过Activiti REST API和Activiti Java API实现。
如果您想在自己的java应用程序中启动进程,可以设置一个java maven项目并导入必要的Activiti APIs (http://activiti.org/community.html)。
Activiti Explorer包含自己的Activiti Process Engine实例。您的应用程序也将拥有自己的实例。两个应用程序共享同一数据库(例如MySQL)是一种常见的方法
看看这张照片,取自“行动中的行动”一书:

有关Activiti Java API,请参阅Activiti Java Guide:http://activiti.org/javadocs/
要启动一个进程,您可以像这样使用RuntimeService:
ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault()
.buildProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance =
runtimeService.startProcessInstanceByKey("processId");假设您将第一个任务定义为UserTask,并将kermit定义为assignee。执行完java代码后,Kermit可以登录到Activiti Explorer,他将看到他的任务。要实现这一点,两个应用程序必须共享同一数据库。
过程定义的部署也是可能的。看看RepositoryService。
发布于 2015-06-12 21:12:28
正如@Ben很好地解释的那样,与流程引擎交互的关键通常是决定流程引擎是在与您的应用程序相同的进程中引导,还是已经在提供REST API ( activiti -rest web应用程序)的另一个web应用程序中运行,或者是另一个web应用程序,该web应用程序可能不提供直接REST API,但可以通过UI执行许多与工作流相关的任务(Activiti explorer web应用程序可能使用直接的activiti java API进行交互)。通过这种方式,Activiti非常灵活。
https://stackoverflow.com/questions/30783474
复制相似问题