Hi ,
We have some code to trigger the workflow as following:
public void startAPRWorkflow(Map<String,List<String>> policyGroupedByOwnerMap,String user) {
WfProcess wfProcess = null;
WfOps wfOps = null;
try {
if(policyGroupedByOwnerMap!=null&&policyGroupedByOwnerMap.size()>0){
Iterator iterator = policyGroupedByOwnerMap.keySet().iterator();
wfOps = ConfigUtil.getWfOps();
while(iterator.hasNext()){
wfProcess = getSingleProcess();
WfRequester requester = wfOps.createRequester(user);
WfPayload payload = wfProcess.getPayload();
String key = (String)iterator.next();
logger.info("PO:"+key);
List<String> rcRdList = policyGroupedByOwnerMap.get(key);
for(String rcRd : rcRdList){
ManagedObjectVCMRef vcmRef = new ManagedObjectVCMRef(rcRd);
payload.addContent(vcmRef.getObjectId());
logger.info("payload:"+rcRd);
}
wfProcess.start();
}
}
} catch (Exception e) {
e.printStackTrace();
StringWriter localStringWriter = new StringWriter();
e.printStackTrace(new PrintWriter(localStringWriter));
logger.error("Error in startAPRWorkflow:"+localStringWriter);
}
}
It triggers 11 workflow tasks, and calls the /policywf/SeagateAssignmentEmails.jsp which configured in config console to generate emails.
The code in SeagateAssignmentEmails.jsp is such like:
logger = PolicyUtil.getLogger("SeagateAssignmentEmails.jsp");
String taskId = request.getParameter("vgnTaskId");
logger.info("Workflow task id from request is ::: " + taskId);
Here we get taskId and get the contents in payload to generate email body. The problem is we offen getting servel emails with exactly the same contents, the logger shows some duplicated taskId instead of 11 different task ids get from request.
2014-01-07 23:34:02,432 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d27806b
2014-01-07 23:34:02,443 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d27806b
2014-01-07 23:34:02,452 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d27806d
2014-01-07 23:34:19,662 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d278071
2014-01-07 23:34:20,212 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d278075
2014-01-07 23:34:21,952 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d278079
2014-01-07 23:34:22,652 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d27807d
2014-01-07 23:34:23,253 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d278081
2014-01-07 23:34:26,732 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d278085
2014-01-07 23:34:28,032 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d278089
2014-01-07 23:34:28,483 INFO assignmentEmail.jsp 534- Workflow task id from request is ::: 7b51462e1cf0323a000001436fe83d27808c
I checked the workflow instance in taskbox are correct(correct spfSAId when open task instance), but why we got duplicated taskId in the jsp? How can we get the correct Ids? Please advise, thanks.