JBPM 5.4人工任务服务 - BaseHornetQTaskServer和Process Engine Communication

时间:2012-12-26 16:33:02

标签: jboss7.x jbpm hornetq

我已使用 KnowledgeRuntime

注册 AsyncHornetQHTWorkItemHandler
AsyncHornetQTaskClient asyncHornetQTaskClient=new AsyncHornetQTaskClient("Async-Task-ProcEngine-Client");
        AsyncHornetQHTWorkItemHandler asyncHornetQHTWorkItemHandler = new AsyncHornetQHTWorkItemHandler(asyncHornetQTaskClient,knowledgeSession, OnErrorAction.RETHROW);
        asyncHornetQHTWorkItemHandler.setPort(5445);
        asyncHornetQHTWorkItemHandler.setIpAddress("localhost");
        logger.debug("Asycnhronous work-item-handler connecting....");
        asyncHornetQHTWorkItemHandler.connect();
        logger.debug("Asycnhronous work-item-handler connected.");
        knowledgeSession.getWorkItemManager().registerWorkItemHandler("Human Task", asyncHornetQHTWorkItemHandler);

BaseHornetQTaskServer配置为使用运行@ port 5445的独立 HornetQ服务器

public CustomHornetQTaskServer(TaskService service, String host, int port) {
        super(new HornetQTaskServerHandler(service, SystemEventListenerFactory.getSystemEventListener()), host, port, true);
}

创建流程实例时,在Task数据库中成功创建人工任务。

我正在使用来自我的网络应用程序的 AsyncHornetQTaskClient (用 SyncTaskServiceWrapper 包装)在任务上执行(完成,跳过等)。

TaskService  client = new SyncTaskServiceWrapper(new AsyncHornetQTaskClient("Async-Task-Client"));
        client.connect("127.0.0.1", 5445);
        return client;

流程引擎托管在单独的VM中,以作为守护程序/后台服务运行。 人工任务服务嵌入在Jboss 7中托管的Web应用程序中。

守护程序服务中的 KnowledgeRuntime.WorkItemManager 如何获取工作项已完成的事件?

我应该明确调用 KnowledgeRuntime.getWorkItemManager()。completeWorkItem

环境:JBPM 5.4.0.Final,HornetQ 2.2.14.Final,Jboss 7

0 个答案:

没有答案