diff --git a/net/src/test/java/com/zfoo/net/core/gateway/GatewayTest.java b/net/src/test/java/com/zfoo/net/core/gateway/GatewayTest.java index fbd75329..6ad71fc7 100644 --- a/net/src/test/java/com/zfoo/net/core/gateway/GatewayTest.java +++ b/net/src/test/java/com/zfoo/net/core/gateway/GatewayTest.java @@ -84,7 +84,7 @@ public class GatewayTest { var executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); var request = new GatewayToProviderRequest(); - request.setMessage(NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString()); + request.setMessage("Hello, this is the client!"); var atomicInteger = new AtomicInteger(0); for (int i = 0; i < executorSize; i++) { diff --git a/net/src/test/java/com/zfoo/net/core/provider/controller/ProviderController.java b/net/src/test/java/com/zfoo/net/core/provider/ProviderController.java similarity index 54% rename from net/src/test/java/com/zfoo/net/core/provider/controller/ProviderController.java rename to net/src/test/java/com/zfoo/net/core/provider/ProviderController.java index 4d565611..9977ce6b 100644 --- a/net/src/test/java/com/zfoo/net/core/provider/controller/ProviderController.java +++ b/net/src/test/java/com/zfoo/net/core/provider/ProviderController.java @@ -1,6 +1,5 @@ /* * Copyright (C) 2020 The zfoo Authors - * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * @@ -11,14 +10,17 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.net.core.provider.controller; +package com.zfoo.net.core.provider; import com.zfoo.net.NetContext; import com.zfoo.net.dispatcher.model.anno.PacketReceiver; -import com.zfoo.net.packet.provider.CM_Provider; -import com.zfoo.net.packet.provider.SM_Provider; +import com.zfoo.net.packet.provider.ProviderMessAnswer; +import com.zfoo.net.packet.provider.ProviderMessAsk; import com.zfoo.net.session.model.Session; import com.zfoo.protocol.util.JsonUtils; +import com.zfoo.protocol.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; /** @@ -28,15 +30,15 @@ import org.springframework.stereotype.Component; @Component public class ProviderController { + private static final Logger logger = LoggerFactory.getLogger(ProviderController.class); + @PacketReceiver - public void atCM_Provider(Session session, CM_Provider cm) { - System.out.println("服务器收到消息:" + JsonUtils.object2String(cm)); + public void atProviderMessAsk(Session session, ProviderMessAsk ask) { + logger.info("provider receive [packet:{}] from consumer", JsonUtils.object2String(ask)); - var sm = new SM_Provider(); - sm.setA(NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString()); - sm.setB(cm.getB()); + var response = new ProviderMessAnswer(); + response.setMessage(StringUtils.format("Hello, this is the [provider:{}] answer!", NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString())); - System.out.println("服务器返回消息:" + JsonUtils.object2String(sm)); - NetContext.getDispatcher().send(session, sm); + NetContext.getDispatcher().send(session, response); } } diff --git a/net/src/test/java/com/zfoo/net/core/provider/ProviderTest.java b/net/src/test/java/com/zfoo/net/core/provider/ProviderTest.java index ad2bd328..5f09dffd 100644 --- a/net/src/test/java/com/zfoo/net/core/provider/ProviderTest.java +++ b/net/src/test/java/com/zfoo/net/core/provider/ProviderTest.java @@ -14,15 +14,19 @@ package com.zfoo.net.core.provider; import com.zfoo.net.NetContext; -import com.zfoo.net.packet.provider.CM_Provider; -import com.zfoo.net.packet.provider.SM_Provider; +import com.zfoo.net.packet.provider.ProviderMessAnswer; +import com.zfoo.net.packet.provider.ProviderMessAsk; import com.zfoo.net.session.SessionUtils; import com.zfoo.protocol.util.JsonUtils; import com.zfoo.util.ThreadUtils; import org.junit.Ignore; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; +import java.util.concurrent.atomic.AtomicInteger; + /** * @author jaysunxiao * @version 3.0 @@ -30,6 +34,8 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; @Ignore public class ProviderTest { + private static final Logger logger = LoggerFactory.getLogger(ProviderTest.class); + /** * RPC教程: * 1.首先必须保证启动zookeeper @@ -62,21 +68,16 @@ public class ProviderTest { * 随机消费,同步请求的方式 */ @Test - public void startSyncRandomConsumer() { + public void startSyncRandomConsumer() throws Exception { var context = new ClassPathXmlApplicationContext("provider/consumer_random_config.xml"); SessionUtils.printSessionInfo(); + var ask = new ProviderMessAsk(); + ask.setMessage("Hello, this is the consumer!"); for (int i = 0; i < 1000; i++) { ThreadUtils.sleep(3000); - var cm = new CM_Provider(); - cm.setA(NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString()); - try { - System.out.println("客户端发送消息:" + JsonUtils.object2String(cm)); - var sm = NetContext.getConsumer().syncAsk(cm, SM_Provider.class, null).packet(); - System.out.println("客户端收到消息:" + JsonUtils.object2String(sm)); - } catch (Exception e) { - e.printStackTrace(); - } + var response = NetContext.getConsumer().syncAsk(ask, ProviderMessAnswer.class, null).packet(); + logger.info("消费者请求[{}]收到消息[{}]", i, JsonUtils.object2String(response)); } ThreadUtils.sleep(Long.MAX_VALUE); @@ -90,13 +91,14 @@ public class ProviderTest { var context = new ClassPathXmlApplicationContext("provider/consumer_random_config.xml"); SessionUtils.printSessionInfo(); + var ask = new ProviderMessAsk(); + ask.setMessage("Hello, this is the consumer!"); + var atomicInteger = new AtomicInteger(0); + for (int i = 0; i < 1000; i++) { ThreadUtils.sleep(3000); - var cm = new CM_Provider(); - cm.setA(NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString()); - System.out.println("客户端发送消息:" + JsonUtils.object2String(cm)); - NetContext.getConsumer().asyncAsk(cm, SM_Provider.class, null).whenComplete(sm -> { - System.out.println("客户端收到消息:" + JsonUtils.object2String(sm)); + NetContext.getConsumer().asyncAsk(ask, ProviderMessAnswer.class, null).whenComplete(answer -> { + logger.info("消费者请求[{}]收到消息[{}]", atomicInteger.incrementAndGet(), JsonUtils.object2String(answer)); }); } @@ -110,14 +112,15 @@ public class ProviderTest { public void startConsistentSessionConsumer() { var context = new ClassPathXmlApplicationContext("provider/consumer_consistent_session_config.xml"); SessionUtils.printSessionInfo(); - ThreadUtils.sleep(3000); + + var ask = new ProviderMessAsk(); + ask.setMessage("Hello, this is the consumer!"); + var atomicInteger = new AtomicInteger(0); + for (int i = 0; i < 1000; i++) { ThreadUtils.sleep(3000); - var cm = new CM_Provider(); - cm.setA(NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString()); - System.out.println("客户端发送消息:" + JsonUtils.object2String(cm)); - NetContext.getConsumer().asyncAsk(cm, SM_Provider.class, 100).whenComplete(sm -> { - System.out.println("客户端收到消息:" + JsonUtils.object2String(sm)); + NetContext.getConsumer().asyncAsk(ask, ProviderMessAnswer.class, 100).whenComplete(answer -> { + logger.info("消费者请求[{}]收到消息[{}]", atomicInteger.incrementAndGet(), JsonUtils.object2String(answer)); }); } @@ -131,13 +134,15 @@ public class ProviderTest { public void startShortestTimeConsumer() { var context = new ClassPathXmlApplicationContext("provider/consumer_shortest_time_config.xml"); SessionUtils.printSessionInfo(); + + var ask = new ProviderMessAsk(); + ask.setMessage("Hello, this is the consumer!"); + var atomicInteger = new AtomicInteger(0); + for (int i = 0; i < 1000; i++) { ThreadUtils.sleep(3000); - var cm = new CM_Provider(); - cm.setA(NetContext.getConfigManager().getLocalConfig().toLocalRegisterVO().toString()); - System.out.println("客户端发送消息:" + JsonUtils.object2String(cm)); - NetContext.getConsumer().asyncAsk(cm, SM_Provider.class, null).whenComplete(sm -> { - System.out.println("客户端收到消息:" + JsonUtils.object2String(sm)); + NetContext.getConsumer().asyncAsk(ask, ProviderMessAnswer.class, null).whenComplete(answer -> { + logger.info("消费者请求[{}]收到消息[{}]", atomicInteger.incrementAndGet(), JsonUtils.object2String(answer)); }); } diff --git a/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderRequest.java b/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderRequest.java index f475fb0d..0de4aed2 100644 --- a/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderRequest.java +++ b/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderRequest.java @@ -21,7 +21,7 @@ import com.zfoo.protocol.IPacket; */ public class GatewayToProviderRequest implements IPacket { - public static final transient short PROTOCOL_ID = 4102; + public static final transient short PROTOCOL_ID = 5000; private String message; diff --git a/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderResponse.java b/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderResponse.java index 9b55c293..e13514ff 100644 --- a/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderResponse.java +++ b/net/src/test/java/com/zfoo/net/packet/gateway/GatewayToProviderResponse.java @@ -21,7 +21,7 @@ import com.zfoo.protocol.IPacket; */ public class GatewayToProviderResponse implements IPacket { - public static final transient short PROTOCOL_ID = 4103; + public static final transient short PROTOCOL_ID = 5001; private String message; diff --git a/net/src/test/java/com/zfoo/net/packet/provider/SM_Provider.java b/net/src/test/java/com/zfoo/net/packet/provider/ProviderMessAnswer.java similarity index 69% rename from net/src/test/java/com/zfoo/net/packet/provider/SM_Provider.java rename to net/src/test/java/com/zfoo/net/packet/provider/ProviderMessAnswer.java index 3edc6014..8473bc5b 100644 --- a/net/src/test/java/com/zfoo/net/packet/provider/SM_Provider.java +++ b/net/src/test/java/com/zfoo/net/packet/provider/ProviderMessAnswer.java @@ -19,31 +19,23 @@ import com.zfoo.protocol.IPacket; * @author jaysunxiao * @version 3.0 */ -public class SM_Provider implements IPacket { +public class ProviderMessAnswer implements IPacket { - public static final transient short PROTOCOL_ID = 4101; + public static final transient short PROTOCOL_ID = 4001; - private String a; - private int b; - - public String getA() { - return a; - } - - public void setA(String a) { - this.a = a; - } - - public int getB() { - return b; - } - - public void setB(int b) { - this.b = b; - } + private String message; @Override public short protocolId() { return PROTOCOL_ID; } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + } diff --git a/net/src/test/java/com/zfoo/net/packet/provider/CM_Provider.java b/net/src/test/java/com/zfoo/net/packet/provider/ProviderMessAsk.java similarity index 69% rename from net/src/test/java/com/zfoo/net/packet/provider/CM_Provider.java rename to net/src/test/java/com/zfoo/net/packet/provider/ProviderMessAsk.java index ba0039f3..da49bb6c 100644 --- a/net/src/test/java/com/zfoo/net/packet/provider/CM_Provider.java +++ b/net/src/test/java/com/zfoo/net/packet/provider/ProviderMessAsk.java @@ -19,32 +19,23 @@ import com.zfoo.protocol.IPacket; * @author jaysunxiao * @version 3.0 */ -public class CM_Provider implements IPacket { +public class ProviderMessAsk implements IPacket { - public static final transient short PROTOCOL_ID = 4100; + public static final transient short PROTOCOL_ID = 4000; - private String a; - - private int b; - - public String getA() { - return a; - } - - public void setA(String a) { - this.a = a; - } - - public int getB() { - return b; - } - - public void setB(int b) { - this.b = b; - } + private String message; @Override public short protocolId() { return PROTOCOL_ID; } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + } diff --git a/net/src/test/resources/gateway/gateway_client_config.xml b/net/src/test/resources/gateway/gateway_client_config.xml index 7605c7f6..45533e97 100644 --- a/net/src/test/resources/gateway/gateway_client_config.xml +++ b/net/src/test/resources/gateway/gateway_client_config.xml @@ -18,8 +18,7 @@ - + diff --git a/net/src/test/resources/gateway/gateway_consistent_session_config.xml b/net/src/test/resources/gateway/gateway_consistent_session_config.xml index 82b56014..cc718d03 100644 --- a/net/src/test/resources/gateway/gateway_consistent_session_config.xml +++ b/net/src/test/resources/gateway/gateway_consistent_session_config.xml @@ -18,8 +18,7 @@ - + diff --git a/net/src/test/resources/protocol.xml b/net/src/test/resources/protocol.xml index b9882fb0..b682aa6e 100644 --- a/net/src/test/resources/protocol.xml +++ b/net/src/test/resources/protocol.xml @@ -73,10 +73,11 @@ - - - - + + + + + diff --git a/net/src/test/resources/provider/consumer_consistent_session_config.xml b/net/src/test/resources/provider/consumer_consistent_session_config.xml index 08d9f85a..ac20d749 100644 --- a/net/src/test/resources/provider/consumer_consistent_session_config.xml +++ b/net/src/test/resources/provider/consumer_consistent_session_config.xml @@ -19,14 +19,12 @@ - + - diff --git a/net/src/test/resources/provider/consumer_random_config.xml b/net/src/test/resources/provider/consumer_random_config.xml index f06f53db..680fbcbf 100644 --- a/net/src/test/resources/provider/consumer_random_config.xml +++ b/net/src/test/resources/provider/consumer_random_config.xml @@ -18,14 +18,12 @@ - + - diff --git a/net/src/test/resources/provider/consumer_shortest_time_config.xml b/net/src/test/resources/provider/consumer_shortest_time_config.xml index 193269a2..64d3dc29 100644 --- a/net/src/test/resources/provider/consumer_shortest_time_config.xml +++ b/net/src/test/resources/provider/consumer_shortest_time_config.xml @@ -18,8 +18,7 @@ - + diff --git a/net/src/test/resources/provider/provider_config.xml b/net/src/test/resources/provider/provider_config.xml index 97e8c79c..dedde153 100644 --- a/net/src/test/resources/provider/provider_config.xml +++ b/net/src/test/resources/provider/provider_config.xml @@ -19,8 +19,7 @@ - +