From 5fd7d4c0add4df1e80192ac61e48a9890c433a1c Mon Sep 17 00:00:00 2001 From: Wenyi Feng Date: Mon, 27 Aug 2018 16:37:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF=E5=BC=95?= =?UTF-8?q?=E6=93=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JavaLib.iml | 23 ++++++++++ README.md | 19 ++++---- pom.xml | 15 +++++-- .../fengwenyi/javalib/handler/Handler.java | 22 +++++++++ .../javalib/handler/HandlerRegister.java | 27 +++++++++++ .../javalib/messageengine/CommonMessage.java | 45 +++++++++++++++++++ .../com/fengwenyi/javalib/util/Utils.java | 2 +- src/test/java/com/fengwenyi/test/MyTest.java | 2 +- 8 files changed, 139 insertions(+), 16 deletions(-) create mode 100644 JavaLib.iml create mode 100644 src/main/java/com/fengwenyi/javalib/handler/Handler.java create mode 100644 src/main/java/com/fengwenyi/javalib/handler/HandlerRegister.java create mode 100644 src/main/java/com/fengwenyi/javalib/messageengine/CommonMessage.java diff --git a/JavaLib.iml b/JavaLib.iml new file mode 100644 index 0000000..40094f4 --- /dev/null +++ b/JavaLib.iml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index f3b1b17..e98c6e6 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,8 @@ JavaLib,是一个Java开发基础工具类库,对项目开发中常用的工 * Utils 常用工具类 +* 消息引擎 + ### 目录结构 @@ -58,10 +60,15 @@ JavaLib │ │ └──com │ │ └── fengwenyi │ │ └── javalib +│ │ ├── handler +│ │ │ ├── Handler // handler +│ │ │ └── HandlerRegister // handler注册 │ │ ├── https │ │ │ └── SSLClient // SSL Client │ │ ├── jk │ │ │ └── ICallback // 回调接口 +│ │ ├── messageengine +│ │ │ └── CommonMessage // 通用消息组件 │ │ ├── result │ │ │ ├── IReturnCode // 返回码接口 │ │ │ └── Result // Result @@ -135,17 +142,7 @@ JavaLib * API.md 只适用于 20 版本,从 21 版本(版本号为 0.0.8)开始,请使用JavaLib-doc -* [JavaLib-doc](https://javalib-doc.fengwenyi.com) - -* JavaLib中用到以下依赖: - -|groupId |artifactId |version | -|:---- |:---: |:---: | -|org.apache.tomcat |servlet-api |6.0.53 | -|com.google.code.gson |gson |2.8.1 | -|org.apache.httpcomponents |httpclient |4.2 | -|junit |junit |4.10 | - +新版暂无API文档,作者正在加紧学习弄个文档处理。 ### Blog diff --git a/pom.xml b/pom.xml index 6defc70..c642745 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.fengwenyi JavaLib - 1.0.0 + 1.0.1-RELEASE org.sonatype.oss @@ -35,11 +35,11 @@ UTF-8 - 4.3.3.RELEASE 4.12 4.0.1 2.8.5 4.2 + 1.18.2 @@ -84,9 +84,18 @@ junit junit ${junit.version} - test + provided + + + + + org.projectlombok + lombok + ${lombok.version} + provided + \ No newline at end of file diff --git a/src/main/java/com/fengwenyi/javalib/handler/Handler.java b/src/main/java/com/fengwenyi/javalib/handler/Handler.java new file mode 100644 index 0000000..e58ed1f --- /dev/null +++ b/src/main/java/com/fengwenyi/javalib/handler/Handler.java @@ -0,0 +1,22 @@ +package com.fengwenyi.javalib.handler; + +import com.fengwenyi.javalib.messageengine.CommonMessage; + +/** + * Handler + * + * 这是一个公用的接口,你需要写一个class来实现这个接口中的方法,以便调用 + * + * @author Wenyi Feng + * @since 2018-08-27 + */ +public interface Handler { + + /** + * 执行 + * @param message 消息 + * @throws Exception 异常,可能会有异常,你可以抛出了,或是处理掉 + */ + void execute(CommonMessage message) throws Exception; + +} diff --git a/src/main/java/com/fengwenyi/javalib/handler/HandlerRegister.java b/src/main/java/com/fengwenyi/javalib/handler/HandlerRegister.java new file mode 100644 index 0000000..7a376e7 --- /dev/null +++ b/src/main/java/com/fengwenyi/javalib/handler/HandlerRegister.java @@ -0,0 +1,27 @@ +package com.fengwenyi.javalib.handler; + +import java.util.Map; + +/** + * <类说明> + *

+ * <功能详细描述> + * + * @author Wenyi Feng + * @since 2018-08-27 + */ +public class HandlerRegister { + + /** handler的集合 */ + private Map handlers; + + /** + * 获取handler + * @param key 通过map-key获取handler + * @return handler,map-value + */ + public Handler getHandler(String key) { + return handlers.get(key); + } + +} diff --git a/src/main/java/com/fengwenyi/javalib/messageengine/CommonMessage.java b/src/main/java/com/fengwenyi/javalib/messageengine/CommonMessage.java new file mode 100644 index 0000000..f4e9193 --- /dev/null +++ b/src/main/java/com/fengwenyi/javalib/messageengine/CommonMessage.java @@ -0,0 +1,45 @@ +package com.fengwenyi.javalib.messageengine; + +import com.fengwenyi.javalib.util.StringUtil; +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +/** + * 通用消息组件 + * + * 消息的基类,如果该类不满足你的需求,你可以继续继承他 + * + * @author Wenyi Feng + * @since 2018-08-27 + */ +@Data +public class CommonMessage { + + /** 消息头 */ + private Map header = new HashMap<>(); + + /** 消息体 */ + private Object body; + + /** + * 设置消息头的属性(key-value) + * @param key map-key + * @param value map-value + */ + public void setProperty(String key, Object value) { + if (StringUtil.isNotEmpty(key)) + header.put(key, value); + } + + /** + * 设置消息体 + * @param body 数据(Object) + */ + public void setBody(Object body) { + if (body != null) + this.body = body; + } + +} diff --git a/src/main/java/com/fengwenyi/javalib/util/Utils.java b/src/main/java/com/fengwenyi/javalib/util/Utils.java index 0a9329e..10399a6 100644 --- a/src/main/java/com/fengwenyi/javalib/util/Utils.java +++ b/src/main/java/com/fengwenyi/javalib/util/Utils.java @@ -74,7 +74,7 @@ public static Map getUrlParams(String param) { */ public static JsonObject getIpInfo(String ip) throws IOException { String param = "?ip=" + ip; - String ipInfoStr = HttpUtil.get(IP_INFO_URI + param, null, null); + String ipInfoStr = HttpUtil.get(IP_INFO_URI + param, null, ""); JsonObject ipInfoJsonObject = new JsonParser().parse(ipInfoStr).getAsJsonObject(); return ipInfoJsonObject.get("data").getAsJsonObject(); } diff --git a/src/test/java/com/fengwenyi/test/MyTest.java b/src/test/java/com/fengwenyi/test/MyTest.java index c772c53..50b6fab 100644 --- a/src/test/java/com/fengwenyi/test/MyTest.java +++ b/src/test/java/com/fengwenyi/test/MyTest.java @@ -110,7 +110,7 @@ public void testNet() { String rs = null; try { - rs = HttpUtil.get(url, null, null); + rs = HttpUtil.get(url, null, ""); } catch (IOException e) { e.printStackTrace(); }