Available as of Camel version 2.6
The jbpm component provides integration with Business Process Management (BPM) Suit jBPM. It uses kie-remote-client API to interact with jBPM instance over REST. The component supports only producer.
Maven users will need to add the following dependency to their pom.xml
for this component:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jbpm</artifactId>
<version>x.x.x</version><!-- use the same version as your Camel core version -->
</dependency>
The JBPM component has no options.
The JBPM endpoint is configured using URI syntax:
jbpm:connectionURL
with the following path and query parameters:
Name | Description | Default | Type |
---|---|---|---|
connectionURL |
Required The URL to the jBPM server. |
URL |
Name | Description | Default | Type |
---|---|---|---|
attachmentId (producer) |
attachId to use when retrieving attachments |
Long |
|
contentId (producer) |
contentId to use when retrieving attachments |
Long |
|
deploymentId (producer) |
Required The id of the deployment |
String |
|
event (producer) |
the data associated with this event when signalEvent operation is performed |
Object |
|
eventType (producer) |
the type of event to use when signalEvent operation is performed |
String |
|
identifier (producer) |
identifier the global identifier |
String |
|
language (producer) |
The language to use when filtering user tasks |
String |
|
maxNumber (producer) |
the maximum number of rules that should be fired |
Integer |
|
operation (producer) |
The operation to perform |
startProcess |
String |
processId (producer) |
the id of the process that should be acted upon |
String |
|
processInstanceId (producer) |
the id of the process instance |
Long |
|
targetUserId (producer) |
The targetUserId used when delegating a task |
String |
|
task (producer) |
The task instance to use with task operations |
Task |
|
taskId (producer) |
the id of the task |
Long |
|
timeout (producer) |
A timeout value |
Integer |
|
userId (producer) |
userId to use with task operations |
String |
|
value (producer) |
the value to assign to the global identifier |
Object |
|
workItemId (producer) |
the id of the work item |
Long |
|
entities (advanced) |
The potentialOwners when nominateTask operation is performed |
List |
|
extraJaxbClasses (advanced) |
To load additional classes when working with XML |
Class[] |
|
parameters (advanced) |
the variables that should be set for various operations |
Map |
|
synchronous (advanced) |
Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). |
false |
boolean |
statuses (filter) |
The list of status to use when filtering tasks |
List |
|
password (security) |
Password for authentication |
String |
|
userName (security) |
Username for authentication |
String |
Name | Default Value | Type | Description |
---|---|---|---|
CamelJBPMValue |
null |
Object |
the value to assign to the global identifier |
CamelJBPMOperation |
PUT |
String |
The operation to perform. The operation name must be prefixed with CamelJBPMOperation and the name of the operation. See the full list above. It is case insensitive. |
CamelJBPMProcessId |
null |
String |
the id of the process that should be acted upon |
CamelJBPMProcessInstanceId |
0 |
Long |
the id of the process instance |
CamelJBPMParameters |
null |
Map<String, Object> |
the variables that should be set for various operations |
CamelJBPMEventType |
null |
String |
the type of event to use when signalEvent operation is performed |
CamelJBPMEvent |
null |
String |
The type of the received event. Possible values defined here org.infinispan.notifications.cachelistener.event.Event.Type |
CamelJBPMMaxNumber |
null |
Integer |
the maximum number of rules that should be fired |
CamelJBPMIdentifier |
null |
long |
identifier the global identifier |
CamelJBPMWorkItemId |
0 |
Long |
the id of the work item |
CamelJBPMTaskId |
0 |
Long |
the id of the task |
CamelJBPMTask |
null |
Task |
The task instance to use with task operations |
CamelJBPMUserId |
null |
String |
userId to use with task operations |
CamelJBPMTargetUserId |
null |
String |
The targetUserId used when delegating a task |
CamelJBPMLanguage |
null |
String |
The language to use when filtering user tasks |
CamelJBPMAttachmentId |
0 |
Long |
attachId to use when retrieving attachments |
CamelJBPMContentId |
0 |
Long |
contentId to use when retrieving attachments |
CamelJBPMEntityList |
null |
List<OrganizationalEntity> |
The potentialOwners when nominateTask operation is performed |
CamelJBPMStatusList |
null |
List<Status> |
The list of status to use when filtering tasks |
Below is an example route that starts a business process with id project1.integration-test and deploymentId org.kie.example:project1:1.0.0-SNAPSHOT
from("direct:start")
.setHeader(JBPMConstants.PROCESS_ID, constant("project1.integration-test"))
.to("jbpm:http://localhost:8080/business-central?userName=bpmsAdmin&password=pa$word1"
+ "&deploymentId=org.kie.example:project1:1.0.0-SNAPSHOT");