提交 bb7df08b 编写于 作者: Z zhourui

loop for processingSignal

上级 864848dd
...@@ -82,28 +82,24 @@ public abstract class JpaObject extends GsonPropertyObject implements Serializab ...@@ -82,28 +82,24 @@ public abstract class JpaObject extends GsonPropertyObject implements Serializab
public static final String scratchInteger_FIELDNAME = "scratchInteger"; public static final String scratchInteger_FIELDNAME = "scratchInteger";
public static final String properties_FIELDNAME = "properties";
public static final String JsonPropertiesValueHandler = "com.x.base.core.entity.annotation.JsonPropertiesValueHandler"; public static final String JsonPropertiesValueHandler = "com.x.base.core.entity.annotation.JsonPropertiesValueHandler";
public static final List<String> FieldsUnmodify = ListUtils public static final List<String> FieldsUnmodify = ListUtils.unmodifiableList(Arrays.asList(id_FIELDNAME,
.unmodifiableList(Arrays.asList(id_FIELDNAME, distributeFactor_FIELDNAME, createTime_FIELDNAME, distributeFactor_FIELDNAME, createTime_FIELDNAME, updateTime_FIELDNAME, sequence_FIELDNAME,
updateTime_FIELDNAME, sequence_FIELDNAME, scratchString_FIELDNAME, scratchBoolean_FIELDNAME, scratchString_FIELDNAME, scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchInteger_FIELDNAME));
scratchDate_FIELDNAME, scratchInteger_FIELDNAME, properties_FIELDNAME));
public static final List<String> FieldsUnmodifyExcludeId = ListUtils public static final List<String> FieldsUnmodifyExcludeId = ListUtils.unmodifiableList(Arrays.asList(
.unmodifiableList(Arrays.asList(distributeFactor_FIELDNAME, createTime_FIELDNAME, updateTime_FIELDNAME, distributeFactor_FIELDNAME, createTime_FIELDNAME, updateTime_FIELDNAME, sequence_FIELDNAME,
sequence_FIELDNAME, scratchString_FIELDNAME, scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchString_FIELDNAME, scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchInteger_FIELDNAME));
scratchInteger_FIELDNAME, properties_FIELDNAME));
public static final List<String> FieldsInvisible = ListUtils.unmodifiableList( public static final List<String> FieldsInvisible = ListUtils.unmodifiableList(
Arrays.asList(distributeFactor_FIELDNAME, sequence_FIELDNAME, password_FIELDNAME, scratchString_FIELDNAME, Arrays.asList(distributeFactor_FIELDNAME, sequence_FIELDNAME, password_FIELDNAME, scratchString_FIELDNAME,
scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchInteger_FIELDNAME, properties_FIELDNAME)); scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchInteger_FIELDNAME));
public static final List<String> FieldsDefault = ListUtils public static final List<String> FieldsDefault = ListUtils
.unmodifiableList(Arrays.asList(id_FIELDNAME, key_FIELDNAME, createTime_FIELDNAME, updateTime_FIELDNAME, .unmodifiableList(Arrays.asList(id_FIELDNAME, key_FIELDNAME, createTime_FIELDNAME, updateTime_FIELDNAME,
sequence_FIELDNAME, distributeFactor_FIELDNAME, password_FIELDNAME, scratchString_FIELDNAME, sequence_FIELDNAME, distributeFactor_FIELDNAME, password_FIELDNAME, scratchString_FIELDNAME,
scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchInteger_FIELDNAME, properties_FIELDNAME)); scratchBoolean_FIELDNAME, scratchDate_FIELDNAME, scratchInteger_FIELDNAME));
@FieldDescribe("创建时间,自动生成,索引创建在约束中.") @FieldDescribe("创建时间,自动生成,索引创建在约束中.")
@Column(name = ColumnNamePrefix + createTime_FIELDNAME) @Column(name = ColumnNamePrefix + createTime_FIELDNAME)
......
...@@ -114,10 +114,10 @@ class ActionProcessing extends BaseAction { ...@@ -114,10 +114,10 @@ class ActionProcessing extends BaseAction {
new Thread(() -> { new Thread(() -> {
RespProcessingSignal resp = null; RespProcessingSignal resp = null;
try { try {
resp = ThisApplication resp = ThisApplication.context().applications()
.context().applications().getQuery(effectivePerson.getDebugger(), .getQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
x_processplatform_service_processing.class, Applications.joinQueryUri("work", Applications.joinQueryUri("work", task.getWork(), "series", series, "activitytoken",
task.getWork(), "series", series, "processing", "signal"), this.task.getActivityToken(), "processing", "signal"),
task.getJob()) task.getJob())
.getData(RespProcessingSignal.class); .getData(RespProcessingSignal.class);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -107,12 +107,12 @@ public class Record extends SliceJpaObject { ...@@ -107,12 +107,12 @@ public class Record extends SliceJpaObject {
public void onPersist() throws Exception { public void onPersist() throws Exception {
switch (Objects.toString(this.type)) { switch (Objects.toString(this.type)) {
case TYPE_URGE: case TYPE_URGE:
case TYPE_EXPIRE: case TYPE_EXPIRE:
this.display = false; this.display = false;
break; break;
default: default:
this.display = true; this.display = true;
} }
} }
/* 更新运行方法 */ /* 更新运行方法 */
...@@ -162,6 +162,10 @@ public class Record extends SliceJpaObject { ...@@ -162,6 +162,10 @@ public class Record extends SliceJpaObject {
return this.properties; return this.properties;
} }
public void setProperties(RecordProperties properties) {
this.properties = properties;
}
public static final String application_FIELDNAME = "application"; public static final String application_FIELDNAME = "application";
@FieldDescribe("应用.") @FieldDescribe("应用.")
@Column(length = JpaObject.length_id, name = ColumnNamePrefix + application_FIELDNAME) @Column(length = JpaObject.length_id, name = ColumnNamePrefix + application_FIELDNAME)
...@@ -467,8 +471,6 @@ public class Record extends SliceJpaObject { ...@@ -467,8 +471,6 @@ public class Record extends SliceJpaObject {
this.type = type; this.type = type;
} }
public String getApplication() { public String getApplication() {
return application; return application;
} }
......
...@@ -3,6 +3,7 @@ package com.x.processplatform.core.entity.element.wrap; ...@@ -3,6 +3,7 @@ package com.x.processplatform.core.entity.element.wrap;
import com.x.base.core.entity.JpaObject; import com.x.base.core.entity.JpaObject;
import com.x.base.core.project.bean.WrapCopier; import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory; import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.tools.ListTools;
import com.x.processplatform.core.entity.element.Route; import com.x.processplatform.core.entity.element.Route;
public class WrapRoute extends Route { public class WrapRoute extends Route {
...@@ -10,8 +11,8 @@ public class WrapRoute extends Route { ...@@ -10,8 +11,8 @@ public class WrapRoute extends Route {
private static final long serialVersionUID = 6333586002792120317L; private static final long serialVersionUID = 6333586002792120317L;
public static WrapCopier<Route, WrapRoute> outCopier = WrapCopierFactory.wo(Route.class, WrapRoute.class, null, public static WrapCopier<Route, WrapRoute> outCopier = WrapCopierFactory.wo(Route.class, WrapRoute.class, null,
JpaObject.FieldsInvisible); ListTools.toList(JpaObject.FieldsInvisible, Route.properties_FIELDNAME));
public static WrapCopier<WrapRoute, Route> inCopier = WrapCopierFactory.wi(WrapRoute.class, Route.class, null, public static WrapCopier<WrapRoute, Route> inCopier = WrapCopierFactory.wi(WrapRoute.class, Route.class, null,
JpaObject.FieldsUnmodifyExcludeId); ListTools.toList(JpaObject.FieldsUnmodifyExcludeId, Route.properties_FIELDNAME));
} }
...@@ -16,27 +16,21 @@ class ActionProcessingSignal extends BaseAction { ...@@ -16,27 +16,21 @@ class ActionProcessingSignal extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, String series, String activityToken) ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, String series, String activityToken)
throws Exception { throws Exception {
Wo wo = new Wo(); Wo wo = null;
Thread.sleep(Config.processPlatform().getProcessingSignalThreshold());
Optional<SignalStack> optional = ThisApplication.getProcessingToProcessingSignalStack().find(id, series);
int loop = 0; int loop = 0;
while ((!optional.isPresent()) && (loop++ < 20)) { Thread.sleep(Config.processPlatform().getProcessingSignalThreshold());
Thread.sleep(200);
optional = ThisApplication.getProcessingToProcessingSignalStack().find(id, series); while ((null == wo) && (loop++ < 50)) {
wo = dataReady(activityToken, ThisApplication.getProcessingToProcessingSignalStack().find(id, series));
if (null == wo) {
Thread.sleep(200);
}
} }
if (optional.isPresent()) { if (null == wo) {
optional.get().forEach(o -> { wo = new Wo();
if (((null != o.getManualExecute()) || (null != o.getSplitExecute()))
&& (!StringUtils.equals(activityToken, o.getActivityToken()))) {
wo.getSignalStack().add(o);
}
});
} else {
wo.setSignalStack(new SignalStack()); wo.setSignalStack(new SignalStack());
} }
...@@ -45,6 +39,24 @@ class ActionProcessingSignal extends BaseAction { ...@@ -45,6 +39,24 @@ class ActionProcessingSignal extends BaseAction {
return result; return result;
} }
private Wo dataReady(String activityToken, Optional<SignalStack> optional) {
if (!optional.isPresent()) {
return null;
}
Wo wo = new Wo();
optional.get().forEach(o -> {
if (((null != o.getManualExecute()) || (null != o.getSplitExecute()))
&& (!StringUtils.equals(activityToken, o.getActivityToken()))) {
wo.getSignalStack().add(o);
}
});
if (wo.getSignalStack().isEmpty()) {
return null;
} else {
return wo;
}
}
public static class Wo extends ActionProcessingSignalWo { public static class Wo extends ActionProcessingSignalWo {
private static final long serialVersionUID = -3206075665001702872L; private static final long serialVersionUID = -3206075665001702872L;
} }
......
...@@ -110,7 +110,7 @@ public class WorkAction extends StandardJaxrsAction { ...@@ -110,7 +110,7 @@ public class WorkAction extends StandardJaxrsAction {
@Path("{id}/series/{series}/activitytoken/{activityToken}/processing/signal") @Path("{id}/series/{series}/activitytoken/{activityToken}/processing/signal")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8) @Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON)
public void processing(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, public void processingSignal(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("工作标识") @PathParam("id") String id, @JaxrsParameterDescribe("工作标识") @PathParam("id") String id,
@JaxrsParameterDescribe("串号") @PathParam("series") String series, @JaxrsParameterDescribe("串号") @PathParam("series") String series,
@JaxrsParameterDescribe("活动Token") @PathParam("activityToken") String activityToken) { @JaxrsParameterDescribe("活动Token") @PathParam("activityToken") String activityToken) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册