使用适当类型的输入消息来启动流程。 创建消息时,必须指定其消息类型名,以便包含消息定义。如果指定流程实例名,则该名称不能以下划线开头。如果未指定流程实例名,则将使用字符串格式的流程实例标识(PIID)作为名称。
ActivityServiceTemplateData activity = startActivities[0];
//create a message for the service to be called
ClientObjectWrapper input = process.createMessage
(activity.getServiceTemplateID(),
activity.getActivityTemplateID(),
activity.getInputMessageTypeName());
DataObject myMessage = null;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
//set the strings in the message, for example, a customer name
myMessage.setString("CustomerName", "Smith");
}
//start the process
PIID piid = process.initiate(activity.getServiceTemplateID(),
activity.getActivityTemplateID(),
null,
input);
此操作创建实例并传递一些客户数据。当该流程启动时,执行的操作将把新流程实例的对象标识返回给调用者。
该流程实例的启动者将被设置为该请求的调用者,它将接收该流程实例的工作项。将确定该流程实例的流程管理员、阅读者和编辑者,他们将接收该流程实例的工作项。将确定后续活动实例。这些后续活动实例将自动启动,或者,如果它们是人员、接收活动或检取活动,就会为潜在所有者创建工作项。