From cd4a0fb4ed549a5828ff64791f268574b7caed77 Mon Sep 17 00:00:00 2001 From: Wxx <2563806166@qq.com> Date: Fri, 26 Jul 2024 22:34:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=99=90=E6=B5=81=E8=BF=94?= =?UTF-8?q?=E5=9B=9Efail=E4=BF=A1=E6=81=AF=E6=97=B6=E7=9A=84=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +-- .../main/java/part1/Client/TestClient.java | 25 +++++++++++++++---- .../netty/handler/NettyRPCServerHandler.java | 1 + .../common/serializer/myCode/MyDecoder.java | 3 +++ .../mySerializer/JsonSerializer.java | 7 +++++- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index bc89ec5..f39915d 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,7 @@ 1.先安装并开启zookeeper -[windows 环境下zookeeper的安装与配置]: https://blog.csdn.net/fisherish/article/details/118974827?spm=1001.2014.3001.5506 - - +安装参考:https://blog.csdn.net/fisherish/article/details/118974827?spm=1001.2014.3001.5506 2.运行Server包下的TestServer,再运行Client包下的TestClient diff --git a/version4/src/main/java/part1/Client/TestClient.java b/version4/src/main/java/part1/Client/TestClient.java index 705f383..f622d11 100644 --- a/version4/src/main/java/part1/Client/TestClient.java +++ b/version4/src/main/java/part1/Client/TestClient.java @@ -16,12 +16,27 @@ public class TestClient { public static void main(String[] args) throws InterruptedException { ClientProxy clientProxy=new ClientProxy(); UserService proxy=clientProxy.getProxy(UserService.class); + for(int i = 0; i < 15; i++) { + Integer i1 = i; + new Thread(()->{ + try{ + User user = proxy.getUserByUserId(i1); - User user = proxy.getUserByUserId(1); - System.out.println("从服务端得到的user="+user.toString()); + System.out.println("从服务端得到的user="+user.toString()); - User u=User.builder().id(100).userName("wxx").sex(true).build(); - Integer id = proxy.insertUserId(u); - System.out.println("向服务端插入user的id"+id); + Integer id = proxy.insertUserId(User.builder().id(i1).userName("User" + i1.toString()).sex(true).build()); + System.out.println("向服务端插入user的id"+id); + } catch (NullPointerException e){ + System.out.println("user为空"); + e.printStackTrace(); + } + }).start(); + } } + //User user = proxy.getUserByUserId(1); + //System.out.println("从服务端得到的user="+user.toString()); + // + //User u=User.builder().id(100).userName("wxx").sex(true).build(); + //Integer id = proxy.insertUserId(u); + //System.out.println("向服务端插入user的id"+id); } diff --git a/version4/src/main/java/part1/Server/netty/handler/NettyRPCServerHandler.java b/version4/src/main/java/part1/Server/netty/handler/NettyRPCServerHandler.java index db474d0..7b8824f 100644 --- a/version4/src/main/java/part1/Server/netty/handler/NettyRPCServerHandler.java +++ b/version4/src/main/java/part1/Server/netty/handler/NettyRPCServerHandler.java @@ -39,6 +39,7 @@ public class NettyRPCServerHandler extends SimpleChannelInboundHandler dataType = response.getDataType(); //判断转化后的response对象中的data的类型是否正确 - if(! dataType.isAssignableFrom(response.getData().getClass())){ + if(!dataType.isAssignableFrom(response.getData().getClass())){ response.setData(JSONObject.toJavaObject((JSONObject) response.getData(),dataType)); } obj = response;