Skip to content

Commit

Permalink
增加消息引擎
Browse files Browse the repository at this point in the history
  • Loading branch information
fengwenyi committed Aug 27, 2018
1 parent 26a9d3c commit 5fd7d4c
Show file tree
Hide file tree
Showing 8 changed files with 139 additions and 16 deletions.
23 changes: 23 additions & 0 deletions JavaLib.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.2" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.2" level="project" />
</component>
</module>
19 changes: 8 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ JavaLib,是一个Java开发基础工具类库,对项目开发中常用的工

* Utils 常用工具类

* 消息引擎


### 目录结构

Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down
15 changes: 12 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.fengwenyi</groupId>
<artifactId>JavaLib</artifactId>
<version>1.0.0</version>
<version>1.0.1-RELEASE</version>

<parent>
<groupId>org.sonatype.oss</groupId>
Expand Down Expand Up @@ -35,11 +35,11 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springversion>4.3.3.RELEASE</springversion>
<junit.version>4.12</junit.version>
<servlet_api.version>4.0.1</servlet_api.version>
<gson.version>2.8.5</gson.version>
<http_client.version>4.2</http_client.version>
<lombok.version>1.18.2</lombok.version>
</properties>


Expand Down Expand Up @@ -84,9 +84,18 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
<scope>provided</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>


</dependencies>

</project>
22 changes: 22 additions & 0 deletions src/main/java/com/fengwenyi/javalib/handler/Handler.java
Original file line number Diff line number Diff line change
@@ -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;

}
27 changes: 27 additions & 0 deletions src/main/java/com/fengwenyi/javalib/handler/HandlerRegister.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.fengwenyi.javalib.handler;

import java.util.Map;

/**
* <类说明>
* <p>
* <功能详细描述>
*
* @author Wenyi Feng
* @since 2018-08-27
*/
public class HandlerRegister {

/** handler的集合 */
private Map<String, Handler> handlers;

/**
* 获取handler
* @param key 通过map-key获取handler
* @return handler,map-value
*/
public Handler getHandler(String key) {
return handlers.get(key);
}

}
Original file line number Diff line number Diff line change
@@ -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<String, Object> 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;
}

}
2 changes: 1 addition & 1 deletion src/main/java/com/fengwenyi/javalib/util/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public static Map<String, String> 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();
}
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/fengwenyi/test/MyTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down

0 comments on commit 5fd7d4c

Please sign in to comment.