| [[jbpm-component]] |
| == JBPM Component |
| |
| *Available as of Camel version 2.6* |
| |
| The *jbpm* component provides integration with Business Process |
| Management (BPM) Suit http://www.jbpm.org/[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: |
| |
| [source,xml] |
| ------------------------------------------------------------------------------------ |
| <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> |
| ------------------------------------------------------------------------------------ |
| |
| ### URI format |
| |
| [source,java] |
| --------------------------------------------- |
| jbpm::hostName[:port][/resourceUri][?options] |
| --------------------------------------------- |
| |
| ### URI Options |
| |
| |
| // component options: START |
| The JBPM component has no options. |
| // component options: END |
| |
| |
| |
| |
| |
| // endpoint options: START |
| The JBPM endpoint is configured using URI syntax: |
| |
| ---- |
| jbpm:connectionURL |
| ---- |
| |
| with the following path and query parameters: |
| |
| ==== Path Parameters (1 parameters): |
| |
| |
| [width="100%",cols="2,5,^1,2",options="header"] |
| |=== |
| | Name | Description | Default | Type |
| | *connectionURL* | *Required* The URL to the jBPM server. | | URL |
| |=== |
| |
| |
| ==== Query Parameters (25 parameters): |
| |
| |
| [width="100%",cols="2,5,^1,2",options="header"] |
| |=== |
| | 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 |
| |=== |
| // endpoint options: END |
| |
| |
| |
| |
| ### Message Headers |
| |
| [width="100%",cols="10%,10%,10%,70%",options="header",] |
| |======================================================================= |
| |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 |
| |======================================================================= |
| |
| ### Example |
| |
| 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 |
| |
| [source,java] |
| ---------------------------------------------------------------------------------------------- |
| 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"); |
| ---------------------------------------------------------------------------------------------- |
| |
| ### See Also |
| |
| * Configuring Camel |
| * Component |
| * Endpoint |
| * Getting Started |
| |
| |