提交 864848dd 编写于 作者: Z zhourui

loop for processingSignal

上级 d4b5afd3
......@@ -50,7 +50,7 @@ public class ProcessPlatform extends ConfigObject {
public static final Boolean DEFAULT_UPDATEDATAPROJECTIONENABLE = false;
public static final Integer DEFAULT_PROCESSINGSIGNALTHRESHOLD = 1000;
public static final Integer DEFAULT_PROCESSINGSIGNALTHRESHOLD = 500;
public static final Boolean DEFAULT_PROCESSINGSIGNALPERSISTENABLE = false;
......@@ -169,7 +169,7 @@ public class ProcessPlatform extends ConfigObject {
@FieldDescribe("事件扩充.")
private ExtensionEvents extensionEvents;
@FieldDescribe("工作处理异步返回阈值,默认1000毫秒.")
@FieldDescribe("工作处理异步返回阈值,默认500毫秒.")
private Integer processingSignalThreshold;
@FieldDescribe("是否保存工作处理信号内容,默认false.")
......
......@@ -43,6 +43,7 @@ import com.x.processplatform.core.entity.content.WorkCompleted;
import com.x.processplatform.core.entity.content.WorkLog;
import com.x.processplatform.core.entity.element.Manual;
import com.x.processplatform.core.entity.element.Route;
import com.x.processplatform.core.entity.log.SignalStack;
import com.x.processplatform.core.express.ProcessingAttributes;
import com.x.processplatform.core.express.service.processing.jaxrs.task.ActionProcessingWo;
import com.x.processplatform.core.express.service.processing.jaxrs.task.WrapAppend;
......@@ -123,11 +124,11 @@ class ActionProcessing extends BaseAction {
exception = e;
} finally {
Wo wo = new Wo();
wo.setOccurSignalStack(true);
if ((null != resp) && (null != resp.getSignalStack()) && (!resp.getSignalStack().isEmpty())) {
wo.setOccurSignalStack(true);
wo.setSignalStack(resp.getSignalStack());
} else {
wo.setOccurSignalStack(false);
wo.setSignalStack(new SignalStack());
}
try {
responeQueue.put(wo);
......
......@@ -31,8 +31,9 @@ public class Signal extends GsonPropertyObject {
}
public static Signal agentArrive() {
public static Signal agentArrive(String activityToken) {
Signal p = new Signal();
p.activityToken = activityToken;
AgentArrive s = new AgentArrive();
p.agentArrive = s;
return p;
......@@ -42,10 +43,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal agentExecute() {
public static Signal agentExecute(String activityToken) {
Signal p = new Signal();
AgentExecute s = new AgentExecute();
p.agentExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -53,10 +55,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal agentInquire() {
public static Signal agentInquire(String activityToken) {
Signal p = new Signal();
AgentInquire s = new AgentInquire();
p.agentInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -84,10 +87,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal beginArrive() {
public static Signal beginArrive(String activityToken) {
Signal p = new Signal();
BeginArrive s = new BeginArrive();
p.beginArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -95,10 +99,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal beginExecute() {
public static Signal beginExecute(String activityToken) {
Signal p = new Signal();
BeginExecute s = new BeginExecute();
p.beginExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -106,10 +111,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal beginInquire() {
public static Signal beginInquire(String activityToken) {
Signal p = new Signal();
BeginInquire s = new BeginInquire();
p.beginInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -137,10 +143,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal cancelArrive() {
public static Signal cancelArrive(String activityToken) {
Signal p = new Signal();
CancelArrive s = new CancelArrive();
p.cancelArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -148,10 +155,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal cancelExecute() {
public static Signal cancelExecute(String activityToken) {
Signal p = new Signal();
CancelExecute s = new CancelExecute();
p.cancelExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -159,10 +167,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal cancelInquire() {
public static Signal cancelInquire(String activityToken) {
Signal p = new Signal();
CancelInquire s = new CancelInquire();
p.cancelInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -190,10 +199,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal choiceArrive() {
public static Signal choiceArrive(String activityToken) {
Signal p = new Signal();
ChoiceArrive s = new ChoiceArrive();
p.choiceArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -201,10 +211,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal choiceExecute() {
public static Signal choiceExecute(String activityToken) {
Signal p = new Signal();
ChoiceExecute s = new ChoiceExecute();
p.choiceExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -212,10 +223,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal choiceInquire() {
public static Signal choiceInquire(String activityToken) {
Signal p = new Signal();
ChoiceInquire s = new ChoiceInquire();
p.choiceInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -243,10 +255,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal delayArrive() {
public static Signal delayArrive(String activityToken) {
Signal p = new Signal();
DelayArrive s = new DelayArrive();
p.delayArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -254,10 +267,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal delayExecute() {
public static Signal delayExecute(String activityToken) {
Signal p = new Signal();
DelayExecute s = new DelayExecute();
p.delayExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -265,10 +279,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal delayInquire() {
public static Signal delayInquire(String activityToken) {
Signal p = new Signal();
DelayInquire s = new DelayInquire();
p.delayInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -296,10 +311,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal embedArrive() {
public static Signal embedArrive(String activityToken) {
Signal p = new Signal();
EmbedArrive s = new EmbedArrive();
p.embedArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -307,10 +323,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal embedExecute() {
public static Signal embedExecute(String activityToken) {
Signal p = new Signal();
EmbedExecute s = new EmbedExecute();
p.embedExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -318,10 +335,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal embedInquire() {
public static Signal embedInquire(String activityToken) {
Signal p = new Signal();
EmbedInquire s = new EmbedInquire();
p.embedInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -349,10 +367,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal endArrive() {
public static Signal endArrive(String activityToken) {
Signal p = new Signal();
EndArrive s = new EndArrive();
p.endArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -360,10 +379,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal endExecute() {
public static Signal endExecute(String activityToken) {
Signal p = new Signal();
EndExecute s = new EndExecute();
p.endExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -371,10 +391,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal endInquire() {
public static Signal endInquire(String activityToken) {
Signal p = new Signal();
EndInquire s = new EndInquire();
p.endInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -402,10 +423,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal invokeArrive() {
public static Signal invokeArrive(String activityToken) {
Signal p = new Signal();
InvokeArrive s = new InvokeArrive();
p.invokeArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -413,10 +435,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal invokeExecute() {
public static Signal invokeExecute(String activityToken) {
Signal p = new Signal();
InvokeExecute s = new InvokeExecute();
p.invokeExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -424,10 +447,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal invokeInquire() {
public static Signal invokeInquire(String activityToken) {
Signal p = new Signal();
InvokeInquire s = new InvokeInquire();
p.invokeInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -455,10 +479,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal manualArrive() {
public static Signal manualArrive(String activityToken) {
Signal p = new Signal();
ManualArrive s = new ManualArrive();
p.manualArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -477,12 +502,13 @@ public class Signal extends GsonPropertyObject {
}
public static Signal manualExecute(String type, List<String> identities) {
public static Signal manualExecute(String activityToken, String type, List<String> identities) {
Signal p = new Signal();
ManualExecute s = new ManualExecute();
s.type = type;
s.identities = identities;
p.manualExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -490,10 +516,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal manualInquire() {
public static Signal manualInquire(String activityToken) {
Signal p = new Signal();
ManualInquire s = new ManualInquire();
p.manualInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -521,10 +548,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal mergeArrive() {
public static Signal mergeArrive(String activityToken) {
Signal p = new Signal();
MergeArrive s = new MergeArrive();
p.mergeArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -532,10 +560,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal mergeExecute() {
public static Signal mergeExecute(String activityToken) {
Signal p = new Signal();
MergeExecute s = new MergeExecute();
p.mergeExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -543,10 +572,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal mergeInquire() {
public static Signal mergeInquire(String activityToken) {
Signal p = new Signal();
MergeInquire s = new MergeInquire();
p.mergeInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -574,10 +604,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal messageArrive() {
public static Signal messageArrive(String activityToken) {
Signal p = new Signal();
MessageArrive s = new MessageArrive();
p.messageArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -585,10 +616,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal messageExecute() {
public static Signal messageExecute(String activityToken) {
Signal p = new Signal();
MessageExecute s = new MessageExecute();
p.messageExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -596,10 +628,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal messageInquire() {
public static Signal messageInquire(String activityToken) {
Signal p = new Signal();
MessageInquire s = new MessageInquire();
p.messageInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -627,10 +660,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal parallelArrive() {
public static Signal parallelArrive(String activityToken) {
Signal p = new Signal();
ParallelArrive s = new ParallelArrive();
p.parallelArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -638,10 +672,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal parallelExecute() {
public static Signal parallelExecute(String activityToken) {
Signal p = new Signal();
ParallelExecute s = new ParallelExecute();
p.parallelExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -649,10 +684,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal parallelInquire() {
public static Signal parallelInquire(String activityToken) {
Signal p = new Signal();
ParallelInquire s = new ParallelInquire();
p.parallelInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -680,10 +716,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal serviceArrive() {
public static Signal serviceArrive(String activityToken) {
Signal p = new Signal();
ServiceArrive s = new ServiceArrive();
p.serviceArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -691,10 +728,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal serviceExecute() {
public static Signal serviceExecute(String activityToken) {
Signal p = new Signal();
ServiceExecute s = new ServiceExecute();
p.serviceExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -702,10 +740,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal serviceInquire() {
public static Signal serviceInquire(String activityToken) {
Signal p = new Signal();
ServiceInquire s = new ServiceInquire();
p.serviceInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -733,10 +772,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal splitArrive() {
public static Signal splitArrive(String activityToken) {
Signal p = new Signal();
SplitArrive s = new SplitArrive();
p.splitArrive = s;
p.activityToken = activityToken;
return p;
}
......@@ -750,11 +790,12 @@ public class Signal extends GsonPropertyObject {
}
public static Signal splitExecute(List<String> splitValues) {
public static Signal splitExecute(String activityToken, List<String> splitValues) {
Signal p = new Signal();
SplitExecute s = new SplitExecute();
s.splitValueList = splitValues;
p.splitExecute = s;
p.activityToken = activityToken;
return p;
}
......@@ -762,10 +803,11 @@ public class Signal extends GsonPropertyObject {
}
public static Signal splitInquire() {
public static Signal splitInquire(String activityToken) {
Signal p = new Signal();
SplitInquire s = new SplitInquire();
p.splitInquire = s;
p.activityToken = activityToken;
return p;
}
......@@ -774,10 +816,10 @@ public class Signal extends GsonPropertyObject {
this.stamp = this.time.getTime();
}
private String type;
private String activityToken;
public String getType() {
return type;
public String getActivityToken() {
return activityToken;
}
private Long stamp;
......
......@@ -2,6 +2,8 @@ package com.x.processplatform.service.processing.jaxrs.work;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
......@@ -11,17 +13,26 @@ import com.x.processplatform.service.processing.ThisApplication;
class ActionProcessingSignal extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, String series) throws Exception {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, String series, String activityToken)
throws Exception {
Wo wo = new Wo();
Thread.sleep(Config.processPlatform().getProcessingSignalThreshold());
Optional<SignalStack> optional = ThisApplication.getProcessingToProcessingSignalStack().find(id, series);
Wo wo = new Wo();
int loop = 0;
while ((!optional.isPresent()) && (loop++ < 20)) {
Thread.sleep(200);
optional = ThisApplication.getProcessingToProcessingSignalStack().find(id, series);
}
if (optional.isPresent()) {
optional.get().forEach(o -> {
if ((null != o.getManualExecute()) || (null != o.getSplitExecute())) {
if (((null != o.getManualExecute()) || (null != o.getSplitExecute()))
&& (!StringUtils.equals(activityToken, o.getActivityToken()))) {
wo.getSignalStack().add(o);
}
});
......
......@@ -107,16 +107,17 @@ public class WorkAction extends StandardJaxrsAction {
@JaxrsMethodDescribe(value = "流程信号.", action = ActionProcessingSignal.class)
@GET
@Path("{id}/series/{series}/processing/signal")
@Path("{id}/series/{series}/activitytoken/{activityToken}/processing/signal")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void processing(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("工作标识") @PathParam("id") String id,
@JaxrsParameterDescribe("串号") @PathParam("series") String series) {
@JaxrsParameterDescribe("串号") @PathParam("series") String series,
@JaxrsParameterDescribe("活动Token") @PathParam("activityToken") String activityToken) {
ActionResult<ActionProcessingSignal.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionProcessingSignal().execute(effectivePerson, id, series);
result = new ActionProcessingSignal().execute(effectivePerson, id, series, activityToken);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
......
......@@ -28,7 +28,7 @@ public class AgentProcessor extends AbstractAgentProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Agent agent) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.agentArrive());
aeiObjects.getProcessingAttributes().push(Signal.agentArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -39,7 +39,7 @@ public class AgentProcessor extends AbstractAgentProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Agent agent) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.agentExecute());
aeiObjects.getProcessingAttributes().push(Signal.agentExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
if (StringUtils.isNotEmpty(agent.getScript()) || StringUtils.isNotEmpty(agent.getScriptText())) {
CompiledScript compiledScript = aeiObjects.business().element().getCompiledScript(
......@@ -58,7 +58,7 @@ public class AgentProcessor extends AbstractAgentProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Agent agent) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.agentInquire());
aeiObjects.getProcessingAttributes().push(Signal.agentInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
Route o = aeiObjects.getRoutes().get(0);
results.add(o);
......
......@@ -36,7 +36,7 @@ public class BeginProcessor extends AbstractBeginProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Begin begin) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.beginArrive());
aeiObjects.getProcessingAttributes().push(Signal.beginArrive(aeiObjects.getWork().getActivityToken()));
// 创建创建者的review
String person = this.business().organization().person().get(aeiObjects.getWork().getCreatorPerson());
if (StringUtils.isNotEmpty(person)) {
......@@ -53,7 +53,7 @@ public class BeginProcessor extends AbstractBeginProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Begin begin) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.beginExecute());
aeiObjects.getProcessingAttributes().push(Signal.beginExecute(aeiObjects.getWork().getActivityToken()));
List<Work> list = new ArrayList<>();
// 如果是再次进入begin节点那么就不需要设置开始时间
if (aeiObjects.getWork().getStartTime() == null) {
......@@ -78,7 +78,7 @@ public class BeginProcessor extends AbstractBeginProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Begin begin) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.beginInquire());
aeiObjects.getProcessingAttributes().push(Signal.beginInquire(aeiObjects.getWork().getActivityToken()));
List<Route> list = new ArrayList<>();
Route o = aeiObjects.getRoutes().get(0);
list.add(o);
......
......@@ -30,7 +30,7 @@ public class CancelProcessor extends AbstractCancelProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Cancel cancel) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.cancelArrive());
aeiObjects.getProcessingAttributes().push(Signal.cancelArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -42,7 +42,7 @@ public class CancelProcessor extends AbstractCancelProcessor {
@Override
public List<Work> executing(AeiObjects aeiObjects, Cancel cancel) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.cancelExecute());
aeiObjects.getProcessingAttributes().push(Signal.cancelExecute(aeiObjects.getWork().getActivityToken()));
// 唯一work处理
if (aeiObjects.getWorks().size() > 1) {
aeiObjects.getDeleteWorks().add(aeiObjects.getWork());
......@@ -84,7 +84,7 @@ public class CancelProcessor extends AbstractCancelProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Cancel cancel) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.cancelInquire());
aeiObjects.getProcessingAttributes().push(Signal.cancelInquire(aeiObjects.getWork().getActivityToken()));
return new ArrayList<>();
}
......
......@@ -31,7 +31,7 @@ public class ChoiceProcessor extends AbstractChoiceProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Choice choice) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.choiceArrive());
aeiObjects.getProcessingAttributes().push(Signal.choiceArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -43,7 +43,7 @@ public class ChoiceProcessor extends AbstractChoiceProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Choice choice) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.choiceExecute());
aeiObjects.getProcessingAttributes().push(Signal.choiceExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
results.add(aeiObjects.getWork());
return results;
......@@ -57,7 +57,7 @@ public class ChoiceProcessor extends AbstractChoiceProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Choice choice) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.choiceInquire());
aeiObjects.getProcessingAttributes().push(Signal.choiceInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
// 多条路由进行判断
for (Route o : aeiObjects.getRoutes()) {
......
......@@ -32,7 +32,7 @@ public class DelayProcessor extends AbstractDelayProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Delay delay) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.delayArrive());
aeiObjects.getProcessingAttributes().push(Signal.delayArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -43,7 +43,7 @@ public class DelayProcessor extends AbstractDelayProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Delay delay) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.delayExecute());
aeiObjects.getProcessingAttributes().push(Signal.delayExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
Date limit = null;
if (null != delay.getDelayMode() && Objects.equals(DelayMode.until, delay.getDelayMode())) {
......@@ -122,7 +122,7 @@ public class DelayProcessor extends AbstractDelayProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Delay delay) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.delayInquire());
aeiObjects.getProcessingAttributes().push(Signal.delayInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
return results;
......
......@@ -37,7 +37,7 @@ public class EmbedProcessor extends AbstractEmbedProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Embed embed) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.embedArrive());
aeiObjects.getProcessingAttributes().push(Signal.embedArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -48,7 +48,7 @@ public class EmbedProcessor extends AbstractEmbedProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Embed embed) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.embedExecute());
aeiObjects.getProcessingAttributes().push(Signal.embedExecute(aeiObjects.getWork().getActivityToken()));
AssginData assginData = new AssginData();
String targetApplication = embed.getTargetApplication();
String targetProcess = embed.getTargetProcess();
......@@ -113,7 +113,7 @@ public class EmbedProcessor extends AbstractEmbedProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Embed embed) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.embedInquire());
aeiObjects.getProcessingAttributes().push(Signal.embedInquire(aeiObjects.getWork().getActivityToken()));
// 驱动上个环节新产生的work
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
......
......@@ -33,7 +33,7 @@ public class EndProcessor extends AbstractEndProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, End end) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.endArrive());
aeiObjects.getProcessingAttributes().push(Signal.endArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -45,7 +45,7 @@ public class EndProcessor extends AbstractEndProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, End end) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.endExecute());
aeiObjects.getProcessingAttributes().push(Signal.endExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
Work other = aeiObjects.getWorks().stream().filter(o -> o != aeiObjects.getWork())
......@@ -156,7 +156,7 @@ public class EndProcessor extends AbstractEndProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, End end) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.endInquire());
aeiObjects.getProcessingAttributes().push(Signal.endInquire(aeiObjects.getWork().getActivityToken()));
return new ArrayList<>();
}
......
......@@ -43,14 +43,14 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Invoke invoke) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.invokeArrive());
aeiObjects.getProcessingAttributes().push(Signal.invokeArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
@Override
protected List<Work> executing(AeiObjects aeiObjects, Invoke invoke) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.invokeExecute());
aeiObjects.getProcessingAttributes().push(Signal.invokeExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
switch (invoke.getInvokeMode()) {
case jaxws:
......@@ -69,7 +69,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Invoke invoke) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.invokeInquire());
aeiObjects.getProcessingAttributes().push(Signal.invokeInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
return results;
......
......@@ -60,7 +60,7 @@ public class ManualProcessor extends AbstractManualProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Manual manual) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.manualArrive());
aeiObjects.getProcessingAttributes().push(Signal.manualArrive(aeiObjects.getWork().getActivityToken()));
// 根据manual计算出来的活动处理人
List<String> identities = calculateTaskIdentities(aeiObjects, manual);
// 启用同类工作相同活动节点合并,如果有合并的工作,那么直接返回这个工作.
......@@ -297,8 +297,8 @@ public class ManualProcessor extends AbstractManualProcessor {
}
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes()
.push(Signal.manualExecute(Objects.toString(manual.getManualMode(), ""), identities));
aeiObjects.getProcessingAttributes().push(Signal.manualExecute(aeiObjects.getWork().getActivityToken(),
Objects.toString(manual.getManualMode(), ""), identities));
switch (manual.getManualMode()) {
case single:
......@@ -331,7 +331,7 @@ public class ManualProcessor extends AbstractManualProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Manual manual) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.manualInquire());
aeiObjects.getProcessingAttributes().push(Signal.manualInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
// 仅有单条路由
if (aeiObjects.getRoutes().size() == 1) {
......
......@@ -27,7 +27,7 @@ public class MergeProcessor extends AbstractMergeProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Merge merge) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.mergeArrive());
aeiObjects.getProcessingAttributes().push(Signal.mergeArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -38,7 +38,7 @@ public class MergeProcessor extends AbstractMergeProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Merge merge) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.mergeExecute());
aeiObjects.getProcessingAttributes().push(Signal.mergeExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
if (BooleanUtils.isNotTrue(aeiObjects.getWork().getSplitting())) {
/* 如果不是一个拆分文档,直接通过 */
......@@ -220,7 +220,7 @@ public class MergeProcessor extends AbstractMergeProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Merge merge) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.mergeInquire());
aeiObjects.getProcessingAttributes().push(Signal.mergeInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
return results;
......
......@@ -24,7 +24,7 @@ public class MessageProcessor extends AbstractMessageProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Message message) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.messageArrive());
aeiObjects.getProcessingAttributes().push(Signal.messageArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -36,7 +36,7 @@ public class MessageProcessor extends AbstractMessageProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Message message) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.messageExecute());
aeiObjects.getProcessingAttributes().push(Signal.messageExecute(aeiObjects.getWork().getActivityToken()));
MessageFactory.activity_message(aeiObjects.getWork(), null);
List<Work> results = new ArrayList<>();
results.add(aeiObjects.getWork());
......@@ -51,7 +51,7 @@ public class MessageProcessor extends AbstractMessageProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Message message) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.messageInquire());
aeiObjects.getProcessingAttributes().push(Signal.messageInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
return results;
......
......@@ -33,7 +33,7 @@ public class ParallelProcessor extends AbstractParallelProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Parallel parallel) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.parallelArrive());
aeiObjects.getProcessingAttributes().push(Signal.parallelArrive(aeiObjects.getWork().getActivityToken()));
logger.info(
"parallel arrvie processing, work title:{}, id:{}, actvity name:{}, id:{}, activityToken:{}, process name:{}, id{}.",
aeiObjects.getWork().getTitle(), aeiObjects.getWork().getId(), parallel.getName(), parallel.getId(),
......@@ -50,7 +50,7 @@ public class ParallelProcessor extends AbstractParallelProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Parallel parallel) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.parallelExecute());
aeiObjects.getProcessingAttributes().push(Signal.parallelExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
aeiObjects.getWork().setSplitting(true);
aeiObjects.getWork().setSplitToken(StringTools.uniqueToken());
......@@ -110,7 +110,7 @@ public class ParallelProcessor extends AbstractParallelProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Parallel parallel) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.parallelInquire());
aeiObjects.getProcessingAttributes().push(Signal.parallelInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
aeiObjects.getRoutes().stream().forEach(o -> {
if (StringUtils.equals(o.getId(), aeiObjects.getWork().getDestinationRoute())) {
......
......@@ -31,7 +31,7 @@ public class ServiceProcessor extends AbstractServiceProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Service service) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.serviceArrive());
aeiObjects.getProcessingAttributes().push(Signal.serviceArrive(aeiObjects.getWork().getActivityToken()));
// 清空上一次调用值
aeiObjects.getWork().getProperties().setServiceValue(new LinkedHashMap<>());
return aeiObjects.getWork();
......@@ -45,7 +45,7 @@ public class ServiceProcessor extends AbstractServiceProcessor {
@Override
protected List<Work> executing(AeiObjects aeiObjects, Service service) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.parallelExecute());
aeiObjects.getProcessingAttributes().push(Signal.parallelExecute(aeiObjects.getWork().getActivityToken()));
List<Work> results = new ArrayList<>();
boolean passThrough = false;
if (StringUtils.isNotEmpty(service.getScript()) || StringUtils.isNotEmpty(service.getScriptText())) {
......@@ -73,7 +73,7 @@ public class ServiceProcessor extends AbstractServiceProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Service service) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.parallelInquire());
aeiObjects.getProcessingAttributes().push(Signal.parallelInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
return results;
......
......@@ -32,7 +32,7 @@ public class SplitProcessor extends AbstractSplitProcessor {
@Override
protected Work arriving(AeiObjects aeiObjects, Split split) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.splitArrive());
aeiObjects.getProcessingAttributes().push(Signal.splitArrive(aeiObjects.getWork().getActivityToken()));
return aeiObjects.getWork();
}
......@@ -54,7 +54,8 @@ public class SplitProcessor extends AbstractSplitProcessor {
aeiObjects.getWork().getId(), aeiObjects.getWork().getJob());
}
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.splitExecute(splitValues));
aeiObjects.getProcessingAttributes()
.push(Signal.splitExecute(aeiObjects.getWork().getActivityToken(), splitValues));
// 先将当前文档标志拆分值
aeiObjects.getWork().setSplitValue(splitValues.get(0));
aeiObjects.getWork().getSplitValueList().add(splitValues.get(0));
......@@ -99,7 +100,7 @@ public class SplitProcessor extends AbstractSplitProcessor {
@Override
protected List<Route> inquiring(AeiObjects aeiObjects, Split split) throws Exception {
// 发送ProcessingSignal
aeiObjects.getProcessingAttributes().push(Signal.splitInquire());
aeiObjects.getProcessingAttributes().push(Signal.splitInquire(aeiObjects.getWork().getActivityToken()));
List<Route> results = new ArrayList<>();
results.add(aeiObjects.getRoutes().get(0));
return results;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册