正在显示
8 个修改的文件
包含
474 行增加
和
128 行删除
1 | package com.sunyo.wlpt.message.bus.sdk; | 1 | package com.sunyo.wlpt.message.bus.sdk; |
2 | 2 | ||
3 | -import com.sunyo.wlpt.message.bus.sdk.request.MessageRequest; | ||
4 | import com.sunyo.wlpt.message.bus.sdk.response.BusResult; | 3 | import com.sunyo.wlpt.message.bus.sdk.response.BusResult; |
5 | 4 | ||
6 | -import java.io.IOException; | ||
7 | - | ||
8 | 5 | ||
9 | /** | 6 | /** |
10 | * @author 子诚 | 7 | * @author 子诚 |
8 | + * Description: | ||
9 | + * 时间:2020/9/7 11:00 | ||
11 | */ | 10 | */ |
12 | public class App { | 11 | public class App { |
13 | - public static void main(String[] args) throws IOException | 12 | + public static void main(String[] args) |
14 | { | 13 | { |
15 | - MessageRequest request = new MessageRequest(); | ||
16 | - BusResult resultOne = request.getMessageOne("zicheng", "S_zicheng", | ||
17 | - "V_zicheng", "V_zicheng_zicheng_R"); | ||
18 | - BusResult resultMore = request.getMessageMore("zicheng", "S_zicheng", | ||
19 | - "V_zicheng", "V_zicheng_zicheng_R", 5); | ||
20 | - | ||
21 | - System.out.println(resultOne); | ||
22 | - System.out.println(resultMore); | 14 | + MyTestMethods myTestMethods = new MyTestMethods(); |
15 | + | ||
16 | +// BusResult busResult = myTestMethods.product_old(); | ||
17 | + | ||
18 | +// BusResult busResult2 = myTestMethods.product_new(); | ||
19 | + | ||
20 | +// BusResult busResult3 = myTestMethods.consumerOne(); | ||
21 | +// System.out.println(busResult3); | ||
22 | + | ||
23 | + BusResult busResult4 = myTestMethods.consumerMore(); | ||
24 | + System.out.println(busResult4); | ||
25 | + | ||
23 | } | 26 | } |
24 | } | 27 | } |
1 | +package com.sunyo.wlpt.message.bus.sdk; | ||
2 | + | ||
3 | +import com.sunyo.wlpt.message.bus.sdk.request.MessageRequest; | ||
4 | +import com.sunyo.wlpt.message.bus.sdk.response.BusResult; | ||
5 | + | ||
6 | +import java.io.IOException; | ||
7 | + | ||
8 | +/** | ||
9 | + * @author 子诚 | ||
10 | + * Description: | ||
11 | + * 时间:2020/9/7 14:36 | ||
12 | + */ | ||
13 | +public class MyTestMethods { | ||
14 | + private static final String url_product_new = "http://192.168.1.53:12343/message-bus-send/bus/rabbit/product_new"; | ||
15 | + private static final String url_product_old = "http://192.168.1.53:12343/message-bus-send/bus/rabbit/product_old"; | ||
16 | + private static final String url_consumer_one = "http://192.168.1.53:12343/message-bus-receive/bus/rabbit/consumer_one"; | ||
17 | + private static final String url_consumer_more = "http://192.168.1.53:12343/message-bus-receive/bus/rabbit/consumer_more2"; | ||
18 | + | ||
19 | + private static final String token = | ||
20 | + "Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ6aWNoZW5nIiwiZXhwIjoxNTk5NDk3MzU1fQ.YI69vs8pV99v7hnt6xGX5c4wvMPBj6tgsjiI4JJbW2Irj-sUW1stskQ25-G5cDRI-qoZFQTlvRvGVFR97arFD9gwAIB8Gfz4Sog-QC1wLDS3xStvygsCDabQmaF8JaE_zWbtJ7Izs7Jd45VOiI4CS_uZY5dsgODB5IqW1hwj-JY"; | ||
21 | + | ||
22 | + /** | ||
23 | + * 报文消息发送 | ||
24 | + * | ||
25 | + * @return | ||
26 | + */ | ||
27 | + public BusResult product_old() | ||
28 | + { | ||
29 | + long start = System.currentTimeMillis(); | ||
30 | + String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <MSG> <META> <SNDR>zicheng</SNDR> \t\t<RCVR></RCVR> \t\t<DDTM>20200902164413</DDTM> \t\t<TYPE>E_zicheng</TYPE> \t\t<STYP>R_zicheng</STYP> \t\t<SEQN>本性难移</SEQN> \t\t<TOKN>江山易老</TOKN> \t\t<VSHT>V_zicheng</VSHT> \t\t<SERV>S_zicheng</SERV> \t</META> \t<BODY>中元节,即是鬼节</BODY> </MSG>"; | ||
31 | + | ||
32 | + MessageRequest messageRequest = new MessageRequest(); | ||
33 | + BusResult busResult = messageRequest.sendMessage(url_product_old, token, content); | ||
34 | + long end = System.currentTimeMillis(); | ||
35 | + System.out.println("发送一条报文消息,耗时:" + (end - start) + "毫秒"); | ||
36 | + return busResult; | ||
37 | + } | ||
38 | + | ||
39 | + public BusResult product_new() | ||
40 | + { | ||
41 | + long start = System.currentTimeMillis(); | ||
42 | + MessageRequest messageRequest = new MessageRequest(); | ||
43 | + BusResult busResult = messageRequest.sendMessage(url_product_new, "S_zicheng", "V_zicheng", "E_zicheng", "R_zicheng", "江山易老,本性难移", "zicheng" | ||
44 | + , "20200907164413", token, "序列号"); | ||
45 | + long end = System.currentTimeMillis(); | ||
46 | + System.out.println("发送一条参数消息,耗时:" + (end - start) + "毫秒"); | ||
47 | + return busResult; | ||
48 | + } | ||
49 | + | ||
50 | + public BusResult consumerOne() | ||
51 | + { | ||
52 | + long start = System.currentTimeMillis(); | ||
53 | + MessageRequest messageRequest = new MessageRequest(); | ||
54 | + BusResult busResult = messageRequest.getMessageOne(url_consumer_one, token, "zicheng", "S_zicheng", "V_zicheng", "V_zicheng_zicheng_R"); | ||
55 | + long end = System.currentTimeMillis(); | ||
56 | + System.out.println("接收一条消息,耗时:" + (end - start) + "毫秒"); | ||
57 | + return busResult; | ||
58 | + } | ||
59 | + | ||
60 | + public BusResult consumerMore() | ||
61 | + { | ||
62 | + int num = 100; | ||
63 | + long start = System.currentTimeMillis(); | ||
64 | + MessageRequest messageRequest = new MessageRequest(); | ||
65 | + BusResult busResult = messageRequest.getMessageMore(url_consumer_more, token, "zicheng", "S_zicheng", | ||
66 | + "V_zicheng", "V_zicheng_zicheng_R", | ||
67 | + num); | ||
68 | + long end = System.currentTimeMillis(); | ||
69 | + System.out.println("接收" + num + "条消息,耗时:" + (end - start) + "毫秒"); | ||
70 | + return busResult; | ||
71 | + } | ||
72 | +} |
1 | +package com.sunyo.wlpt.message.bus.sdk; | ||
2 | + | ||
3 | +import com.sunyo.wlpt.message.bus.sdk.request.MessageRequest; | ||
4 | +import com.sunyo.wlpt.message.bus.sdk.response.BusResult; | ||
5 | +import com.sunyo.wlpt.message.bus.sdk.utils.GsonUtil; | ||
6 | +import sun.security.krb5.internal.Ticket; | ||
7 | + | ||
8 | +import java.io.IOException; | ||
9 | +import java.text.SimpleDateFormat; | ||
10 | +import java.util.concurrent.*; | ||
11 | +import java.util.concurrent.locks.Lock; | ||
12 | +import java.util.concurrent.locks.ReentrantLock; | ||
13 | + | ||
14 | +/** | ||
15 | + * @author 子诚 | ||
16 | + * Description: | ||
17 | + * 时间:2020/9/7 10:34 | ||
18 | + */ | ||
19 | +public class Test2 { | ||
20 | + public static void main(String[] args) throws IOException | ||
21 | + { | ||
22 | + // 1031 15:45:58 15:48:57 | ||
23 | + Test2 t2 = new Test2(); | ||
24 | + t2.moreThread(); | ||
25 | + } | ||
26 | + | ||
27 | + void moreThread() | ||
28 | + { | ||
29 | + Tickets thread = new Tickets(); | ||
30 | + | ||
31 | + | ||
32 | + ExecutorService executorService = new ThreadPoolExecutor( | ||
33 | + 32, 64, | ||
34 | + 0L, | ||
35 | + TimeUnit.MILLISECONDS, | ||
36 | + new LinkedBlockingQueue<>(10), | ||
37 | + Executors.defaultThreadFactory(), | ||
38 | + new ThreadPoolExecutor.AbortPolicy()); | ||
39 | + for (int i = 0; i < 32; i++) { | ||
40 | + executorService.submit(thread); | ||
41 | + } | ||
42 | + executorService.shutdown(); | ||
43 | + } | ||
44 | +} | ||
45 | + | ||
46 | +class Tickets implements Runnable { | ||
47 | + private int ticket = 1000; | ||
48 | + | ||
49 | + @Override | ||
50 | + public void run() | ||
51 | + { | ||
52 | + while (true) { | ||
53 | + try { | ||
54 | + if (ticket <= 0) { | ||
55 | + break; | ||
56 | + } | ||
57 | + MyTestMethods myTestMethods = new MyTestMethods(); | ||
58 | + // 发送一条报文消息 | ||
59 | + BusResult busResult = myTestMethods.product_old(); | ||
60 | + System.out.println(Thread.currentThread().getName() + "发送了第" + ticket + "条消息"); | ||
61 | + ticket--; | ||
62 | + } finally { | ||
63 | + | ||
64 | + } | ||
65 | + } | ||
66 | + } | ||
67 | + | ||
68 | +} |
1 | -package com.sunyo.wlpt.message.bus.sdk.request; | ||
2 | - | ||
3 | -import com.sunyo.wlpt.message.bus.sdk.response.ResultJson; | ||
4 | -import com.sunyo.wlpt.message.bus.sdk.utils.GsonUtil; | ||
5 | -import com.sunyo.wlpt.message.bus.sdk.utils.OkHttpUtils; | ||
6 | -import okhttp3.MediaType; | ||
7 | - | ||
8 | - | ||
9 | -import java.io.FileInputStream; | ||
10 | -import java.io.FileNotFoundException; | ||
11 | -import java.io.IOException; | ||
12 | -import java.util.HashMap; | ||
13 | -import java.util.Properties; | ||
14 | - | ||
15 | -/** | ||
16 | - * @author 子诚 | ||
17 | - * Description: | ||
18 | - * 时间:2020/9/3 15:18 | ||
19 | - */ | ||
20 | -public class BusMessage { | ||
21 | - | ||
22 | - /** | ||
23 | - * 指定队列,接收一条消息 | ||
24 | - * | ||
25 | - * @param RUSR 接收者 | ||
26 | - * @param SERV 服务器名称 | ||
27 | - * @param VSHT 虚拟主机名称 | ||
28 | - * @param RCVR 队列名称 | ||
29 | - * @return | ||
30 | - * @throws IOException | ||
31 | - */ | ||
32 | - public static ResultJson consumerOne(String RUSR, String SERV, String VSHT, String RCVR) throws IOException | ||
33 | - { | ||
34 | - HashMap<String, Object> params = new HashMap<>(); | ||
35 | - params.put("RUSR", RUSR); | ||
36 | - params.put("SERV", SERV); | ||
37 | - params.put("VSHT", VSHT); | ||
38 | - params.put("RCVR", RCVR); | ||
39 | - | ||
40 | - OkHttpUtils okHttp = new OkHttpUtils(); | ||
41 | - String url_consumer_one = getUrl("URL_CONSUMER_ONE"); | ||
42 | - String json = okHttp.doGet(url_consumer_one, params); | ||
43 | - ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
44 | - return result; | ||
45 | - } | ||
46 | - | ||
47 | - /** | ||
48 | - * 指定队列,接收多条消息 | ||
49 | - * | ||
50 | - * @param RUSR 接收者 | ||
51 | - * @param SERV 服务器名称 | ||
52 | - * @param VSHT 虚拟主机名称 | ||
53 | - * @param RCVR 队列名称 | ||
54 | - * @param CUNT 接收消息的数量 | ||
55 | - * @return | ||
56 | - * @throws IOException | ||
57 | - */ | ||
58 | - public static ResultJson consumerMore(String RUSR, String SERV, String VSHT, String RCVR, Integer CUNT) throws IOException | ||
59 | - { | ||
60 | - HashMap<String, Object> params = new HashMap<>(); | ||
61 | - params.put("RUSR", RUSR); | ||
62 | - params.put("SERV", SERV); | ||
63 | - params.put("VSHT", VSHT); | ||
64 | - params.put("RCVR", RCVR); | ||
65 | - params.put("CUNT", CUNT); | ||
66 | - | ||
67 | - OkHttpUtils okHttp = new OkHttpUtils(); | ||
68 | - String url_consumer_more = getUrl("URL_CONSUMER_MORE"); | ||
69 | - String json = okHttp.doGet(url_consumer_more, params); | ||
70 | - ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
71 | - return result; | ||
72 | - } | ||
73 | - | ||
74 | - | ||
75 | - /** | ||
76 | - * 根据url名称,动态获取url | ||
77 | - * | ||
78 | - * @param urlName url名称 | ||
79 | - * @return url信息 | ||
80 | - * @throws IOException | ||
81 | - */ | ||
82 | - public static String getUrl(String urlName) throws IOException | ||
83 | - { | ||
84 | - Properties properties = new Properties(); | ||
85 | - FileInputStream fis = new FileInputStream("config\\url.properties"); | ||
86 | - properties.load(fis); | ||
87 | - fis.close(); | ||
88 | - String url = properties.getProperty(urlName); | ||
89 | - return url; | ||
90 | - } | ||
91 | -} |
@@ -4,6 +4,7 @@ import com.sunyo.wlpt.message.bus.sdk.response.BusResult; | @@ -4,6 +4,7 @@ import com.sunyo.wlpt.message.bus.sdk.response.BusResult; | ||
4 | import com.sunyo.wlpt.message.bus.sdk.response.ResultJson; | 4 | import com.sunyo.wlpt.message.bus.sdk.response.ResultJson; |
5 | 5 | ||
6 | import java.io.IOException; | 6 | import java.io.IOException; |
7 | +import java.text.SimpleDateFormat; | ||
7 | import java.util.List; | 8 | import java.util.List; |
8 | 9 | ||
9 | /** | 10 | /** |
@@ -12,8 +13,106 @@ import java.util.List; | @@ -12,8 +13,106 @@ import java.util.List; | ||
12 | * 时间:2020/9/3 18:04 | 13 | * 时间:2020/9/3 18:04 |
13 | */ | 14 | */ |
14 | public class MessageRequest { | 15 | public class MessageRequest { |
16 | + private static final String SUCCESS_SEND_CODE = "10200"; | ||
17 | + private static final String SUCCESS_RECEIVE_CODE = "20200"; | ||
15 | 18 | ||
16 | - private static final String SUCCESS_ONE_CODE = "20200"; | 19 | + /** |
20 | + * 发送消息,xml报文形式 | ||
21 | + * | ||
22 | + * @param xmlMessage xml报文 | ||
23 | + * @return | ||
24 | + * @throws IOException | ||
25 | + */ | ||
26 | + public BusResult sendMessage(String url, String token, String xmlMessage) | ||
27 | + { | ||
28 | + MessageService messageService = new MessageService(); | ||
29 | + ResultJson resultJson = messageService.productOld(url, token, xmlMessage); | ||
30 | + | ||
31 | + if (resultJson == null) { | ||
32 | + BusResult result = new BusResult(false, "10400", "请检查url、token以及以及报文格式"); | ||
33 | + return result; | ||
34 | + } | ||
35 | + String code = resultJson.getCode(); | ||
36 | + String msg = resultJson.getMsg(); | ||
37 | + if (!SUCCESS_SEND_CODE.equals(resultJson.getCode())) { | ||
38 | + String resultMessage = "错误代码:" + code + ";错误信息:" + msg; | ||
39 | + BusResult errorResult = new BusResult(false, code, resultMessage); | ||
40 | + return errorResult; | ||
41 | + } | ||
42 | + BusResult result = new BusResult(true, code, msg); | ||
43 | + return result; | ||
44 | + } | ||
45 | + | ||
46 | + final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
47 | + | ||
48 | + /** | ||
49 | + * 发送消息,根据参数 | ||
50 | + * | ||
51 | + * @param SERV 服务器名称 | ||
52 | + * @param VSHT 虚拟主机名称 | ||
53 | + * @param TYPE 大类型(交换机名称) | ||
54 | + * @param STYP 小类型(路由键名称) | ||
55 | + * @param MSG 发送消息内容 | ||
56 | + * @param SNDR 发送者名称 | ||
57 | + * @param DDTM yyyyMMddHHmmss格式的发送时间 | ||
58 | + * @param TOKN token令牌 | ||
59 | + * @param SEQN 序列号 | ||
60 | + * @param RCVR 指定接收队列(非必须) | ||
61 | + * @return | ||
62 | + * @throws IOException | ||
63 | + */ | ||
64 | + public BusResult sendMessage(String url, String SERV, String VSHT, String TYPE, String STYP, String MSG, | ||
65 | + String SNDR, String DDTM, String TOKN, String SEQN, String RCVR) | ||
66 | + { | ||
67 | + ResultJson resultJson = MessageService.productNew(url, SERV, VSHT, TYPE, STYP, MSG, SNDR, DDTM, TOKN, SEQN, RCVR); | ||
68 | + if (resultJson == null) { | ||
69 | + BusResult result = new BusResult(false, "10400", "请检查url、token以及以及参数内容与位置"); | ||
70 | + return result; | ||
71 | + } | ||
72 | + String code = resultJson.getCode(); | ||
73 | + String msg = resultJson.getMsg(); | ||
74 | + if (!SUCCESS_SEND_CODE.equals(resultJson.getCode())) { | ||
75 | + String resultMessage = "错误代码:" + code + ";错误信息:" + msg; | ||
76 | + BusResult errorResult = new BusResult(false, code, resultMessage); | ||
77 | + return errorResult; | ||
78 | + } | ||
79 | + BusResult result = new BusResult(true, code, msg); | ||
80 | + return result; | ||
81 | + } | ||
82 | + | ||
83 | + /** | ||
84 | + * 发送消息,根据参数 | ||
85 | + * | ||
86 | + * @param SERV 服务器名称 | ||
87 | + * @param VSHT 虚拟主机名称 | ||
88 | + * @param TYPE 大类型(交换机名称) | ||
89 | + * @param STYP 小类型(路由键名称) | ||
90 | + * @param MSG 发送消息内容 | ||
91 | + * @param SNDR 发送者名称 | ||
92 | + * @param DDTM yyyyMMddHHmmss格式的发送时间 | ||
93 | + * @param TOKN token令牌 | ||
94 | + * @param SEQN 序列号 | ||
95 | + * @return | ||
96 | + * @throws IOException | ||
97 | + */ | ||
98 | + public BusResult sendMessage(String url, String SERV, String VSHT, String TYPE, String STYP, | ||
99 | + String MSG, String SNDR, String DDTM, String TOKN, String SEQN) | ||
100 | + { | ||
101 | + ResultJson resultJson = MessageService.productNew(url, SERV, VSHT, TYPE, STYP, MSG, SNDR, DDTM, TOKN, SEQN); | ||
102 | + if (resultJson == null) { | ||
103 | + BusResult result = new BusResult(false, "10400", "请检查url、token以及以及参数内容与位置"); | ||
104 | + return result; | ||
105 | + } | ||
106 | + String code = resultJson.getCode(); | ||
107 | + String msg = resultJson.getMsg(); | ||
108 | + if (!SUCCESS_SEND_CODE.equals(resultJson.getCode())) { | ||
109 | + String resultMessage = "错误代码:" + code + ";错误信息:" + msg; | ||
110 | + BusResult errorResult = new BusResult(false, code, resultMessage); | ||
111 | + return errorResult; | ||
112 | + } | ||
113 | + BusResult result = new BusResult(true, code, msg); | ||
114 | + return result; | ||
115 | + } | ||
17 | 116 | ||
18 | /** | 117 | /** |
19 | * 接收消息,一条 | 118 | * 接收消息,一条 |
@@ -24,15 +123,16 @@ public class MessageRequest { | @@ -24,15 +123,16 @@ public class MessageRequest { | ||
24 | * @param RCVR 接收队列名称 | 123 | * @param RCVR 接收队列名称 |
25 | * @return | 124 | * @return |
26 | */ | 125 | */ |
27 | - public BusResult getMessageOne(String RUSR, String SERV, String VSHT, String RCVR) throws IOException | 126 | + public BusResult getMessageOne(String url, String token, String RUSR, String SERV, String VSHT, String RCVR) |
28 | { | 127 | { |
29 | - ResultJson resultJson = BusMessage.consumerOne(RUSR, SERV, VSHT, RCVR); | 128 | + ResultJson resultJson = MessageService.consumerOne(url, token, RUSR, SERV, VSHT, RCVR); |
30 | if (resultJson == null) { | 129 | if (resultJson == null) { |
31 | - | 130 | + BusResult result = new BusResult(false, "20400", "请检查url、token以及以及参数内容与位置"); |
131 | + return result; | ||
32 | } | 132 | } |
33 | String code = resultJson.getCode(); | 133 | String code = resultJson.getCode(); |
34 | String msg = resultJson.getMsg(); | 134 | String msg = resultJson.getMsg(); |
35 | - if (!SUCCESS_ONE_CODE.equals(resultJson.getCode())) { | 135 | + if (!SUCCESS_RECEIVE_CODE.equals(resultJson.getCode())) { |
36 | String resultMessage = "错误代码:" + code + ";错误信息:" + msg; | 136 | String resultMessage = "错误代码:" + code + ";错误信息:" + msg; |
37 | BusResult errorResult = new BusResult(false, code, resultMessage); | 137 | BusResult errorResult = new BusResult(false, code, resultMessage); |
38 | return errorResult; | 138 | return errorResult; |
@@ -42,16 +142,27 @@ public class MessageRequest { | @@ -42,16 +142,27 @@ public class MessageRequest { | ||
42 | return result; | 142 | return result; |
43 | } | 143 | } |
44 | 144 | ||
45 | - | ||
46 | - public BusResult getMessageMore(String RUSR, String SERV, String VSHT, String RCVR, Integer CUNT) throws IOException | 145 | + /** |
146 | + * 接收消息,多条 | ||
147 | + * | ||
148 | + * @param RUSR 接收人名称 | ||
149 | + * @param SERV 服务器名称 | ||
150 | + * @param VSHT 虚拟主机名称 | ||
151 | + * @param RCVR 接收队列名称 | ||
152 | + * @param CUNT 消息的数量 | ||
153 | + * @return | ||
154 | + * @throws IOException | ||
155 | + */ | ||
156 | + public BusResult getMessageMore(String url, String token, String RUSR, String SERV, String VSHT, String RCVR, Integer CUNT) | ||
47 | { | 157 | { |
48 | - ResultJson resultJson = BusMessage.consumerMore(RUSR, SERV, VSHT, RCVR, CUNT); | 158 | + ResultJson resultJson = MessageService.consumerMore(url, token, RUSR, SERV, VSHT, RCVR, CUNT); |
49 | if (resultJson == null) { | 159 | if (resultJson == null) { |
50 | - | 160 | + BusResult result = new BusResult(false, "20400", "请检查url、token以及以及参数内容与位置"); |
161 | + return result; | ||
51 | } | 162 | } |
52 | String code = resultJson.getCode(); | 163 | String code = resultJson.getCode(); |
53 | String msg = resultJson.getMsg(); | 164 | String msg = resultJson.getMsg(); |
54 | - if (!SUCCESS_ONE_CODE.equals(resultJson.getCode())) { | 165 | + if (!SUCCESS_RECEIVE_CODE.equals(resultJson.getCode())) { |
55 | String resultMessage = "错误代码:" + code + ";错误信息:" + msg; | 166 | String resultMessage = "错误代码:" + code + ";错误信息:" + msg; |
56 | BusResult errorResult = new BusResult(false, code, resultMessage); | 167 | BusResult errorResult = new BusResult(false, code, resultMessage); |
57 | return errorResult; | 168 | return errorResult; |
@@ -60,4 +171,6 @@ public class MessageRequest { | @@ -60,4 +171,6 @@ public class MessageRequest { | ||
60 | BusResult result = new BusResult(true, code, msg, dataList); | 171 | BusResult result = new BusResult(true, code, msg, dataList); |
61 | return result; | 172 | return result; |
62 | } | 173 | } |
174 | + | ||
175 | + | ||
63 | } | 176 | } |
1 | +package com.sunyo.wlpt.message.bus.sdk.request; | ||
2 | + | ||
3 | +import com.sunyo.wlpt.message.bus.sdk.response.ResultJson; | ||
4 | +import com.sunyo.wlpt.message.bus.sdk.utils.GsonUtil; | ||
5 | +import com.sunyo.wlpt.message.bus.sdk.utils.OkHttpUtils; | ||
6 | +import org.springframework.util.StringUtils; | ||
7 | + | ||
8 | +import java.io.IOException; | ||
9 | +import java.util.HashMap; | ||
10 | + | ||
11 | +/** | ||
12 | + * @author 子诚 | ||
13 | + * Description: | ||
14 | + * 时间:2020/9/3 15:18 | ||
15 | + */ | ||
16 | +public class MessageService { | ||
17 | + | ||
18 | + /** | ||
19 | + * 发送消息,根据参数 | ||
20 | + * | ||
21 | + * @param url 地址 | ||
22 | + * @param SERV 服务器名称 | ||
23 | + * @param VSHT 虚拟主机名称 | ||
24 | + * @param TYPE 大类型(交换机名称) | ||
25 | + * @param STYP 小类型(路由键名称) | ||
26 | + * @param MSG 发送消息内容 | ||
27 | + * @param SNDR 发送者名称 | ||
28 | + * @param DDTM yyyyMMddHHmmss格式的发送时间 | ||
29 | + * @param TOKN token令牌 | ||
30 | + * @param SEQN 序列号 | ||
31 | + * @param RCVR 指定接收队列(非必须) | ||
32 | + * @return | ||
33 | + * @throws IOException | ||
34 | + */ | ||
35 | + public static ResultJson productNew(String url, String SERV, String VSHT, String TYPE, String STYP, | ||
36 | + String MSG, String SNDR, String DDTM, String TOKN, String SEQN, String RCVR) | ||
37 | + { | ||
38 | + HashMap<String, String> params = new HashMap<>(); | ||
39 | + params.put("SERV", SERV); | ||
40 | + params.put("VSHT", VSHT); | ||
41 | + params.put("TYPE", TYPE); | ||
42 | + params.put("STYP", STYP); | ||
43 | + params.put("MSG", MSG); | ||
44 | + params.put("SNDR", SNDR); | ||
45 | + params.put("DDTM", DDTM); | ||
46 | + params.put("TOKN", TOKN); | ||
47 | + params.put("SEQN", SEQN); | ||
48 | + params.put("RCVR", RCVR); | ||
49 | + | ||
50 | + OkHttpUtils okHttp = new OkHttpUtils(); | ||
51 | + String json = okHttp.doPostForm(url, TOKN, params); | ||
52 | + if (StringUtils.isEmpty(json)) { | ||
53 | + return new ResultJson<>("10400", "请检查url、token以及以及参数内容与位置"); | ||
54 | + } | ||
55 | + ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
56 | + return result; | ||
57 | + } | ||
58 | + | ||
59 | + /** | ||
60 | + * 发送消息,根据参数 | ||
61 | + * | ||
62 | + * @param url 地址 | ||
63 | + * @param SERV 服务器名称 | ||
64 | + * @param VSHT 虚拟主机名称 | ||
65 | + * @param TYPE 大类型(交换机名称) | ||
66 | + * @param STYP 小类型(路由键名称) | ||
67 | + * @param MSG 发送消息内容 | ||
68 | + * @param SNDR 发送者名称 | ||
69 | + * @param DDTM yyyyMMddHHmmss格式的发送时间 | ||
70 | + * @param TOKN token令牌 | ||
71 | + * @param SEQN 序列号 | ||
72 | + * @return | ||
73 | + * @throws IOException | ||
74 | + */ | ||
75 | + public static ResultJson productNew(String url, String SERV, String VSHT, String TYPE, String STYP, | ||
76 | + String MSG, String SNDR, String DDTM, String TOKN, String SEQN) | ||
77 | + { | ||
78 | + HashMap<String, String> params = new HashMap<>(); | ||
79 | + params.put("SERV", SERV); | ||
80 | + params.put("VSHT", VSHT); | ||
81 | + params.put("TYPE", TYPE); | ||
82 | + params.put("STYP", STYP); | ||
83 | + params.put("MSG", MSG); | ||
84 | + params.put("SNDR", SNDR); | ||
85 | + params.put("DDTM", DDTM); | ||
86 | + params.put("TOKN", TOKN); | ||
87 | + params.put("SEQN", SEQN); | ||
88 | + | ||
89 | + OkHttpUtils okHttp = new OkHttpUtils(); | ||
90 | + String json = okHttp.doPostForm(url, TOKN, params); | ||
91 | + if (StringUtils.isEmpty(json)) { | ||
92 | + return new ResultJson<>("10400", "请检查url、token以及以及参数内容与位置"); | ||
93 | + } | ||
94 | + ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
95 | + return result; | ||
96 | + } | ||
97 | + | ||
98 | + /** | ||
99 | + * 发送消息,xml报文形式 | ||
100 | + * | ||
101 | + * @param xmlMessage xml报文 | ||
102 | + * @return | ||
103 | + * @throws IOException | ||
104 | + */ | ||
105 | + public ResultJson productOld(String url, String token, String xmlMessage) | ||
106 | + { | ||
107 | + HashMap<String, String> params = new HashMap<>(); | ||
108 | + params.put("xmlMessage", xmlMessage); | ||
109 | + | ||
110 | + OkHttpUtils okHttp = new OkHttpUtils(); | ||
111 | + String json = okHttp.doPostForm(url, token, params); | ||
112 | + if (StringUtils.isEmpty(json)) { | ||
113 | + return new ResultJson<>("10400", "请检查url、token以及报文格式"); | ||
114 | + } | ||
115 | + ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
116 | + return result; | ||
117 | + } | ||
118 | + | ||
119 | + /** | ||
120 | + * 指定队列,接收一条消息 | ||
121 | + * | ||
122 | + * @param RUSR 接收者 | ||
123 | + * @param SERV 服务器名称 | ||
124 | + * @param VSHT 虚拟主机名称 | ||
125 | + * @param RCVR 队列名称 | ||
126 | + * @return | ||
127 | + * @throws IOException | ||
128 | + */ | ||
129 | + public static ResultJson consumerOne(String url, String token, String RUSR, String SERV, String VSHT, String RCVR) | ||
130 | + { | ||
131 | + HashMap<String, Object> params = new HashMap<>(); | ||
132 | + params.put("RUSR", RUSR); | ||
133 | + params.put("SERV", SERV); | ||
134 | + params.put("VSHT", VSHT); | ||
135 | + params.put("RCVR", RCVR); | ||
136 | + | ||
137 | + OkHttpUtils okHttp = new OkHttpUtils(); | ||
138 | + String json = okHttp.doGet(url, token, params); | ||
139 | + if (StringUtils.isEmpty(json)) { | ||
140 | + return new ResultJson<>("20400", "请检查url、token以及以及参数内容与位置"); | ||
141 | + } | ||
142 | + ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
143 | + return result; | ||
144 | + } | ||
145 | + | ||
146 | + /** | ||
147 | + * 指定队列,接收多条消息 | ||
148 | + * | ||
149 | + * @param RUSR 接收者 | ||
150 | + * @param SERV 服务器名称 | ||
151 | + * @param VSHT 虚拟主机名称 | ||
152 | + * @param RCVR 队列名称 | ||
153 | + * @param CUNT 接收消息的数量 | ||
154 | + * @return | ||
155 | + * @throws IOException | ||
156 | + */ | ||
157 | + public static ResultJson consumerMore(String url, String token, String RUSR, String SERV, String VSHT, String RCVR, Integer CUNT) | ||
158 | + { | ||
159 | + HashMap<String, Object> params = new HashMap<>(); | ||
160 | + params.put("RUSR", RUSR); | ||
161 | + params.put("SERV", SERV); | ||
162 | + params.put("VSHT", VSHT); | ||
163 | + params.put("RCVR", RCVR); | ||
164 | + params.put("CUNT", CUNT); | ||
165 | + | ||
166 | + OkHttpUtils okHttp = new OkHttpUtils(); | ||
167 | + String json = okHttp.doGet(url, token, params); | ||
168 | + if (StringUtils.isEmpty(json)) { | ||
169 | + return new ResultJson<>("20400", "请检查url、token以及以及参数内容与位置"); | ||
170 | + } | ||
171 | + ResultJson result = GsonUtil.GsonToBean(json, ResultJson.class); | ||
172 | + return result; | ||
173 | + } | ||
174 | +} |
@@ -59,6 +59,11 @@ public class BusResult { | @@ -59,6 +59,11 @@ public class BusResult { | ||
59 | this.dataList = dataList; | 59 | this.dataList = dataList; |
60 | } | 60 | } |
61 | 61 | ||
62 | + public BusResult() | ||
63 | + { | ||
64 | + | ||
65 | + } | ||
66 | + | ||
62 | public Boolean getOk() | 67 | public Boolean getOk() |
63 | { | 68 | { |
64 | return isOk; | 69 | return isOk; |
1 | package com.sunyo.wlpt.message.bus.sdk.utils; | 1 | package com.sunyo.wlpt.message.bus.sdk.utils; |
2 | 2 | ||
3 | +import lombok.extern.slf4j.Slf4j; | ||
3 | import okhttp3.*; | 4 | import okhttp3.*; |
4 | import org.apache.commons.lang3.StringUtils; | 5 | import org.apache.commons.lang3.StringUtils; |
5 | -import org.apache.log4j.Logger; | ||
6 | 6 | ||
7 | 7 | ||
8 | import java.net.URLEncoder; | 8 | import java.net.URLEncoder; |
@@ -15,8 +15,9 @@ import java.util.concurrent.TimeUnit; | @@ -15,8 +15,9 @@ import java.util.concurrent.TimeUnit; | ||
15 | * Description: | 15 | * Description: |
16 | * 时间:2020/9/3 15:22 | 16 | * 时间:2020/9/3 15:22 |
17 | */ | 17 | */ |
18 | +@Slf4j | ||
18 | public class OkHttpUtils { | 19 | public class OkHttpUtils { |
19 | - private static Logger log = Logger.getLogger(OkHttpUtils.class); | 20 | + |
20 | 21 | ||
21 | private static final MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8"); | 22 | private static final MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8"); |
22 | private static final MediaType MEDIA_TYPE_TEXT = MediaType.parse("application/x-www-form-urlencoded; charset=utf-8"); | 23 | private static final MediaType MEDIA_TYPE_TEXT = MediaType.parse("application/x-www-form-urlencoded; charset=utf-8"); |
@@ -28,11 +29,11 @@ public class OkHttpUtils { | @@ -28,11 +29,11 @@ public class OkHttpUtils { | ||
28 | { | 29 | { |
29 | okHttpClient = new OkHttpClient.Builder() | 30 | okHttpClient = new OkHttpClient.Builder() |
30 | //10秒连接超时 | 31 | //10秒连接超时 |
31 | - .connectTimeout(10, TimeUnit.SECONDS) | 32 | + .connectTimeout(60, TimeUnit.SECONDS) |
32 | //10m秒写入超时 | 33 | //10m秒写入超时 |
33 | - .writeTimeout(10, TimeUnit.SECONDS) | 34 | + .writeTimeout(600, TimeUnit.SECONDS) |
34 | //10秒读取超时 | 35 | //10秒读取超时 |
35 | - .readTimeout(10, TimeUnit.SECONDS) | 36 | + .readTimeout(600, TimeUnit.SECONDS) |
36 | .build(); | 37 | .build(); |
37 | } | 38 | } |
38 | 39 | ||
@@ -57,12 +58,12 @@ public class OkHttpUtils { | @@ -57,12 +58,12 @@ public class OkHttpUtils { | ||
57 | return commonRequest(request); | 58 | return commonRequest(request); |
58 | } | 59 | } |
59 | 60 | ||
60 | - public String doGet(String url, HashMap<String, Object> params) | 61 | + public String doGet(String url, String token, HashMap<String, Object> params) |
61 | { | 62 | { |
62 | if (isBlankUrl(url)) { | 63 | if (isBlankUrl(url)) { |
63 | return null; | 64 | return null; |
64 | } | 65 | } |
65 | - Request request = getRequestForGet(url, params); | 66 | + Request request = getRequestForGet(url, token, params); |
66 | return commonRequest(request); | 67 | return commonRequest(request); |
67 | } | 68 | } |
68 | 69 | ||
@@ -75,21 +76,21 @@ public class OkHttpUtils { | @@ -75,21 +76,21 @@ public class OkHttpUtils { | ||
75 | return commonRequest(request); | 76 | return commonRequest(request); |
76 | } | 77 | } |
77 | 78 | ||
78 | - public String doPostForm(String url, Map<String, String> params) | 79 | + public String doPostForm(String url, String token, Map<String, String> params) |
79 | { | 80 | { |
80 | if (isBlankUrl(url)) { | 81 | if (isBlankUrl(url)) { |
81 | return null; | 82 | return null; |
82 | } | 83 | } |
83 | - Request request = getRequestForPostForm(url, params); | 84 | + Request request = getRequestForPostForm(url, token, params); |
84 | return commonRequest(request); | 85 | return commonRequest(request); |
85 | } | 86 | } |
86 | 87 | ||
87 | private Boolean isBlankUrl(String url) | 88 | private Boolean isBlankUrl(String url) |
88 | { | 89 | { |
89 | if (StringUtils.isBlank(url)) { | 90 | if (StringUtils.isBlank(url)) { |
90 | - log.info("url is not blank"); | ||
91 | return true; | 91 | return true; |
92 | } else { | 92 | } else { |
93 | + log.info("url is blank-->" + url); | ||
93 | return false; | 94 | return false; |
94 | } | 95 | } |
95 | } | 96 | } |
@@ -102,12 +103,12 @@ public class OkHttpUtils { | @@ -102,12 +103,12 @@ public class OkHttpUtils { | ||
102 | Response response = call.execute(); | 103 | Response response = call.execute(); |
103 | if (response.isSuccessful()) { | 104 | if (response.isSuccessful()) { |
104 | re = response.body().string(); | 105 | re = response.body().string(); |
105 | -// log.info("request url:{};response:{}", request.url().toString(), re); | ||
106 | } else { | 106 | } else { |
107 | -// log.info("request failure url:{};message:{}", request.url().toString(), response.message()); | 107 | + log.error("request failure url:{};message:{}", request.url().toString(), response.message()); |
108 | } | 108 | } |
109 | } catch (Exception e) { | 109 | } catch (Exception e) { |
110 | log.error("request execute failure", e); | 110 | log.error("request execute failure", e); |
111 | + System.out.println("失败"); | ||
111 | } | 112 | } |
112 | return re; | 113 | return re; |
113 | } | 114 | } |
@@ -123,7 +124,7 @@ public class OkHttpUtils { | @@ -123,7 +124,7 @@ public class OkHttpUtils { | ||
123 | } | 124 | } |
124 | 125 | ||
125 | 126 | ||
126 | - private Request getRequestForPostForm(String url, Map<String, String> params) | 127 | + private Request getRequestForPostForm(String url, String token, Map<String, String> params) |
127 | { | 128 | { |
128 | if (params == null) { | 129 | if (params == null) { |
129 | params = new HashMap<>(); | 130 | params = new HashMap<>(); |
@@ -137,15 +138,17 @@ public class OkHttpUtils { | @@ -137,15 +138,17 @@ public class OkHttpUtils { | ||
137 | RequestBody requestBody = builder.build(); | 138 | RequestBody requestBody = builder.build(); |
138 | Request request = new Request.Builder() | 139 | Request request = new Request.Builder() |
139 | .url(url) | 140 | .url(url) |
141 | + .addHeader("Authorization", token) | ||
140 | .post(requestBody) | 142 | .post(requestBody) |
141 | .build(); | 143 | .build(); |
142 | return request; | 144 | return request; |
143 | } | 145 | } |
144 | 146 | ||
145 | - private Request getRequestForGet(String url, HashMap<String, Object> params) | 147 | + private Request getRequestForGet(String url, String token, HashMap<String, Object> params) |
146 | { | 148 | { |
147 | Request request = new Request.Builder() | 149 | Request request = new Request.Builder() |
148 | .url(getUrlStringForGet(url, params)) | 150 | .url(getUrlStringForGet(url, params)) |
151 | + .addHeader("Authorization", token) | ||
149 | .build(); | 152 | .build(); |
150 | return request; | 153 | return request; |
151 | } | 154 | } |
@@ -166,7 +169,6 @@ public class OkHttpUtils { | @@ -166,7 +169,6 @@ public class OkHttpUtils { | ||
166 | if (params != null && params.size() > 0) { | 169 | if (params != null && params.size() > 0) { |
167 | for (Map.Entry<String, Object> entry : params.entrySet()) { | 170 | for (Map.Entry<String, Object> entry : params.entrySet()) { |
168 | try { | 171 | try { |
169 | - | ||
170 | urlBuilder.append("&").append(entry.getKey()).append("=").append( | 172 | urlBuilder.append("&").append(entry.getKey()).append("=").append( |
171 | "CUNT".equals(entry.getKey()) | 173 | "CUNT".equals(entry.getKey()) |
172 | ? entry.getValue() | 174 | ? entry.getValue() |
-
请 注册 或 登录 后发表评论