Index Changes
You can monitor bpel instances, view bpel variable value, change variable value and suspend, resume, terminate bpel instances using either a command line tool or write your own monitoring application using provided bpel monitor API.

You can download the latest bpel monitor tool and API here

Monitoring using bpel monitor command line tool

The complete user guide can be found in : $bpelMonitorTool_HOME/docs/Monitor_UserManual.pdf, $bpelMonitorTool_HOME is the folder where is extracted into

Start Glassfish, bpelse, enable monitoring :
Two propeties of BPELSE are monitoring related and configurable :


Required for using BPEL Monitor API as well as every command in the Command Line Tool of BPEL monitoring


Required for using Variable related API such as changeVariableValue,getVariableValue,listBPELVaraibles as well as getInvokeeInstance and getInvokerInstance, and following command:l, v, k, pr, ch

Note: To monitor a BPEL project using the command line tool, the project should be deployed after MonitorEnabled is set to true, otherwise, the 'a' command may not produce correct results

Modify $bpelMonitorTool_HOME/ for values suitable for your environment

cd to $bpelMonitorTool_HOME/scripts, execute or runbpelmonitor.bat

High lights

  • Show BPEL instances status
You can get all bpel instances in any status by :

You can filter bpel instances by status and bpel process QName by:

>b processid="{{}forEach_basic" \

Note: you can join multiple lines with backslash for a complete command
Note: For all commands, the parameter value is surrounded by double quotes

You can use sort, order and max to handle large number of instances by:

>b max="10" sort="updatedTime" order="desc"

You can show the output to the console as well as written or append to a file (like Unix 'tee' command, this applies to all commands in the tool), any file with csv extension will be written as comma delimited CSV format. Use double quotes around the file name with either relative or full file path, use '+' at the end to append the output to the existing file rather than overwriting it

>b status="running" >"../result.csv"  
>b status="running" >"c:\work\output.txt"+
  • Show deployed BPEL processes
>a su="ForEachJbi-ForEachBpel"

Note: Parameter su is required to specify the deployed service assembly's bpel service unit name.

  • Show BPEL activity status
You can see activity status of a BPEL instance
>c instid=""
  • Show BPEL fault details
You can see the fault detail of a bpel instance if the bpel instance is terminated by an unhandled fault
>f instid=""
  • Suspend BPEL instances
You can suspend one or more running bpel instances
>s instid="|"

You can suspend all running instances for a bpel process

>s processId="{}CopyName"
  • Resume BPEL instances
You can resume one or more suspended bpel instances
>r instid="|"

You can resume all suspended instances for a bpel process

>r processId="{}CopyName"
  • Terminate BPEL instances
You can terminate one or more running or suspended bpel instances
>t instid="|"

You can terminate all running or suspended instances for a bpel process

>t processId="{}CopyName"
  • View BPEL variable value
You can view BPEL variable value with "l" (list all bpel variables) and "v" (view a single variable):
>l instid=""
Variable Name   Variable Id     Scope Xpath
--------------------    --------------- ----------------
NewWSDLOperationIn      1000001 /bpws:process
>v instid="" varid="1000001"
  • Change variable value in a suspended instance
You can change the value of a variable in a suspended instance:
>k instid="" varid="1000001" part="part 1" newval="newval" xpath="test:id/test:firstname"
  • Navigate from parent instance to child instance and vice versa
If 2 BPELs have direct invocation like : bp1 --> bp2, then you can navigate from bp1 to bp2 ('ch') or from bp2 to bp1 ("pr"):
>pr instid=""
>ch instid=""
  • All commands work for a standalone or a clustered glassfish env.
To use clustering on comman line monitoring tool, specify "TargetName"on

Working with BPEL Monitor API

To use BPEL Monitor API alone in your own application, you need $bpelMonitorTool_HOME/bpelmonitor-api.jar and $bpelMonitorTool_HOME/lib/jbi-admin-common.jar
Please see API doc: API In a NutShell

Additionally a simple example of using the API within a web application can be found at Open ESB Tip : BPEL Monitoring Updated and a copy of the generated war can be found below.

JSPWiki v2.4.100
« Home Index Changes Prefs
This page (revision-42) was last changed on 18-Sep-09 04:12 AM, -0700 by Andrew Hopkinson