-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
Copy pathJbpmVerticle.java
38 lines (27 loc) · 1.11 KB
/
JbpmVerticle.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package io.vertx.example.jbpm;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.eventbus.EventBus;
import java.util.HashMap;
import java.util.Map;
import org.jbpm.workflow.instance.WorkflowProcessInstance;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
public class JbpmVerticle extends AbstractVerticle {
@Override
public void start() {
System.out.println("Starting JbpmVerticle");
EventBus eb = vertx.eventBus();
/* Initializing kie-session to start a process */
KieContainer container = KieServices.Factory.get().getKieClasspathContainer();
KieSession ksession = container.newKieSession("sampleSession");
eb.consumer("process-message", message -> {
System.out.println("Received message on consumer " + message.body());
Map<String, Object> input = new HashMap<String, Object>();
input.put("message", message.body());
// Start a process
WorkflowProcessInstance p = (WorkflowProcessInstance) ksession.startProcess("com.sample.bpmn.hello", input);
System.out.println("Generated Process ID: " + p.getId());
});
}
}