diff --git a/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java b/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java index b07d9d8..ef22932 100644 --- a/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java +++ b/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.lyms.sycn.ParamsHandler; +import com.lyms.sycn.ParamsAdpter; import com.lyms.sycn.SycnHandler; import com.lyms.sycn.SycnUtils; import com.lyms.sycn.channel.ChannelData; @@ -25,7 +25,7 @@ public class SysRemoteController extends BaseController { public Object push(HttpServletRequest request) throws ClassNotFoundException, IOException { ChannelData model = SycnUtils.conver(request); Object object = SycnHandler.handler(model); - model.setData(ParamsHandler.builder().push(object).toJsonString()); + model.setData(ParamsAdpter.builder().push(object).toJsonString()); model.setAck(true); return model; } diff --git a/center.manager/src/main/java/com/lyms/cm/job/SycnFixJob.java b/center.manager/src/main/java/com/lyms/cm/job/SycnFixJob.java index 2c0ca1d..fef6340 100644 --- a/center.manager/src/main/java/com/lyms/cm/job/SycnFixJob.java +++ b/center.manager/src/main/java/com/lyms/cm/job/SycnFixJob.java @@ -6,7 +6,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import com.lyms.sycn.ParamsHandler; +import com.lyms.sycn.ParamsAdpter; import com.lyms.sycn.SycnCallback; import com.lyms.sycn.SycnCenter; import com.lyms.sycn.SycnCenter.Work; @@ -55,7 +55,7 @@ public class SycnFixJob { Boolean tag = (Boolean) handlResult; if (tag) { data.setRemote(oldData.getRemote()); - data.setData(ParamsHandler.builder().push(data.getId()).toJsonString()); + data.setData(ParamsAdpter.builder().push(data.getId()).toJsonString()); data.setAck(true); // 处理成功回执消息 data.setRemoteClazz("com.lyms.hospital.service.sys.impl.SyncDataBasicServiceImpl"); diff --git a/center.manager/src/test/java/center/manager/test/user/WorkTest.java b/center.manager/src/test/java/center/manager/test/user/WorkTest.java index 04ec55a..5316662 100644 --- a/center.manager/src/test/java/center/manager/test/user/WorkTest.java +++ b/center.manager/src/test/java/center/manager/test/user/WorkTest.java @@ -6,11 +6,11 @@ import org.springframework.beans.factory.annotation.Autowired; import com.alibaba.fastjson.JSON; import com.lyms.cm.entity.sys.SysUsers; -import com.lyms.synch.ParamsHandler; -import com.lyms.synch.SyncCallback; -import com.lyms.synch.SyncnCenter; -import com.lyms.synch.SyncnCenter.Work; -import com.lyms.synch.entity.ChannelData; +import com.lyms.sycn.ParamsAdpter; +import com.lyms.sycn.SycnCallback; +import com.lyms.sycn.SycnCenter; +import com.lyms.sycn.SycnCenter.Work; +import com.lyms.sycn.channel.ChannelData; import com.lyms.util.HttpUtils; import com.lyms.util.JsonUtils; import com.lyms.util.StrUtils; @@ -25,7 +25,7 @@ import com.lyms.util.StrUtils; public class WorkTest extends BaseTest { @Autowired - public SyncnCenter center; + public SycnCenter center; @Test public void push() { @@ -38,7 +38,7 @@ public class WorkTest extends BaseTest { ChannelData push = new ChannelData(remote, remoteClazz, remoteMethod, null, loop); - center.buildWork().push(push, new SyncCallback() { + center.buildWork().push(push, new SycnCallback() { @Override public void callBack(Object object) { System.out.println("push callBack : " + object); @@ -77,7 +77,7 @@ public class WorkTest extends BaseTest { try { // final AckObj ack = new AckObj(); - work.pullTmp(new SyncCallback() { + work.pullTmp(new SycnCallback() { @Override public void callBack(Object object) { if (object == null) @@ -115,7 +115,7 @@ public class WorkTest extends BaseTest { Work work2 = center.buildWork(); try { // final AckObj ack = new AckObj(); - work2.pullFix(new SyncCallback() { + work2.pullFix(new SycnCallback() { @Override public void callBack(Object object) { if (object != null && object instanceof ChannelData) { @@ -151,7 +151,7 @@ public class WorkTest extends BaseTest { // Object params = new Object[] { user, null }; // 设置参数 - ParamsHandler params = ParamsHandler.builder().push(user).push(null); + ParamsAdpter params = ParamsAdpter.builder().push(user).push(null); data.setData(params.toJsonString()); String str = JSON.toJSONString(data); diff --git a/core.sdk/src/main/java/com/lyms/sycn/ParamsAdpter.java b/core.sdk/src/main/java/com/lyms/sycn/ParamsAdpter.java new file mode 100644 index 0000000..4d2be98 --- /dev/null +++ b/core.sdk/src/main/java/com/lyms/sycn/ParamsAdpter.java @@ -0,0 +1,83 @@ +package com.lyms.sycn; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; + +import com.lyms.util.JsonUtils; + +/** + *
+ * 最好能保证确实是单例,由中心构建不同的 work + */ + private static final SycnCenter center = SycnCenter.install(); + public static Object handler(ChannelData data) { try { return invoke(data); @@ -54,7 +61,7 @@ public class SycnHandler { return null; Object[] objs = null; if (StringUtils.isNotBlank(params)) { - ParamsHandler handler = JsonUtils.jsonToBean(params, ParamsHandler.class); + ParamsAdpter handler = JsonUtils.jsonToBean(params, ParamsAdpter.class); if (handler != null) { List ps = handler.getParams(); objs = new Object[ps.size()]; @@ -108,4 +115,49 @@ public class SycnHandler { return null; } + /** + *
+ * 如果为空将会创建新的ID + * + * @param id + * @param remote + * @param remoteClazz + * @param remoteMethod + * @param data + * @param loop + */ + public ChannelData(String id, String remote, String remoteClazz, String remoteMethod, String data, boolean loop) { + this.id = StringUtils.isBlank(id) ? StrUtils.uuid() : id; + this.remote = remote; + this.remoteClazz = remoteClazz; + this.remoteMethod = remoteMethod; + this.data = data; + this.ts = System.currentTimeMillis(); + this.loop = loop; + } + public String getId() { return id; } diff --git a/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java b/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java index 04c2873..5ba3e89 100644 --- a/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java +++ b/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java @@ -9,7 +9,7 @@ import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.lyms.sycn.ParamsHandler; +import com.lyms.sycn.ParamsAdpter; import com.lyms.sycn.SycnHandler; import com.lyms.sycn.SycnUtils; import com.lyms.sycn.channel.ChannelData; @@ -34,7 +34,7 @@ public class RouterController extends BaseController { if (data.getLoop()) { data = (ChannelData) handResult; } else { - data.setData(ParamsHandler.builder().push(handResult).toJsonString()); + data.setData(ParamsAdpter.builder().push(handResult).toJsonString()); } data.setAck(true); return data;