public static void main(String[] args) throws Exception { GrainLog grainLog = new GrainLog(LoggerFactory.getLogger("minaLog")); GrainLog grainLog1 = new GrainLog(LoggerFactory.getLogger("msgLog")); // 初始化线程消息 AsyncThreadManager.init(100, 10, 3, 1, grainLog1); AsyncThreadManager.start(); MsgManager.init(true, grainLog1); // 设置消息归属线程,不设置则随机分配 ThreadMsgManager.addMapping(TcpMsg.MINA_SERVER_CONNECTED, new int[] { 1, 1 }); ThreadMsgManager.addMapping(TcpMsg.MINA_SERVER_DISCONNECT, new int[] { 1, 1 }); ThreadMsgManager.addMapping(DistributedlockMsg.DISTRIBUTEDLOCK_SERVER_CAN_USE, new int[] { 1, 1 }); // 注册关注的消息 MinaClientService minaClientService = new MinaClientService(); MsgManager.addMsgListener(minaClientService); TestMsgService testMsgService = new TestMsgService(); MsgManager.addMsgListener(testMsgService); WaitLockManager.init(120000); ThreadTcpManager.init(); // 初始化分布式锁客户端 Map<String, String> lockToServer = new HashMap<String, String>(); lockToServer.put("user", "testserver"); lockToServer.put("group", "testserver"); DistributedLockClient.init(lockToServer, grainLog1); // 创建TCP客户端 MinaClient.init(new String[] { "0.0.0.0" }, new int[] { 7005 }, new String[] { "testserver" }, ThreadMinaClientHandler.class, 10, true, grainLog); }
public static void main(String[] args) throws Exception { GrainLog grainLog = new GrainLog(LoggerFactory.getLogger("minaLog")); GrainLog grainLog1 = new GrainLog(LoggerFactory.getLogger("msgLog")); // 初始化消息 MsgManager.init(true, grainLog1); // 注册关注的消息 TestMsgService testService = new TestMsgService(); MsgManager.addMsgListener(testService); // 映射操作码解析类 TcpManager.addMapping(TestTCode.TESTC, TestC.class); TcpManager.addMapping(TestTCode.TESTS, TestS.class); // 注册tcp回调函数 TestTcpServiceC testTcpServiceC = new TestTcpServiceC(); TcpManager.addTcpListener(testTcpServiceC); // 创建TCP客户端 MinaClient.init(new String[] { "0.0.0.0" }, new int[] { 7005 }, new String[] { "testserver" }, MinaClientHandler.class, 10, true, grainLog); }
public static void main(String[] args) throws Exception { GrainLog grainLog = new GrainLog(LoggerFactory.getLogger("minaLog")); GrainLog grainLog1 = new GrainLog(LoggerFactory.getLogger("msgLog")); // 初始化线程消息(需要锁定两条线程第一条唤醒用的,第二条获取锁信息汇集用的) AsyncThreadManager.init(100, 10, 3, 2, grainLog1); AsyncThreadManager.start(); MsgManager.init(true, grainLog1); // 设置消息归属线程,不设置则随机分配 ThreadMsgManager.addMapping(TcpMsg.MINA_CLIENT_CREATE_CONNECT, new int[] { 1, 1 }); ThreadMsgManager.addMapping(TcpMsg.MINA_CLIENT_DISCONNECT, new int[] { 1, 1 }); // 第二条用于汇集用 int[] threadPriority = AsyncThreadManager.getLockThreadPriority(2); ThreadMsgManager.addMapping(DistributedlockMsg.MERGE_TCPPACKET, threadPriority); // 注册关注的消息 MergeTCPService mergeTCPService = new MergeTCPService(); MsgManager.addMsgListener(mergeTCPService); WaitLockManager.init(120000); ThreadTcpManager.init(); // 初始化分布式锁服务器 ArrayList<String> types = new ArrayList<>(); types.add("user"); types.add("group"); DistributedLockServer.init(types, grainLog1); // 注册tcp回调函数 DistributedLockService distributedLockService = new DistributedLockService(); TcpManager.addTcpListener(distributedLockService); // 创建TCP服务器 MinaServer.init("0.0.0.0", 7005, DistributedlockServerHandler.class, true, grainLog); }
public static void main(String[] args) throws Exception { GrainLog grainLog = new GrainLog(LoggerFactory.getLogger("minaLog")); GrainLog grainLog1 = new GrainLog(LoggerFactory.getLogger("msgLog")); // 初始化线程消息 AsyncThreadManager.init(100, 10, 3, 1, grainLog1); AsyncThreadManager.start(); MsgManager.init(true, grainLog1); // 设置消息归属线程,不设置则随机分配 ThreadMsgManager.addMapping(TcpMsg.MINA_SERVER_CONNECTED, new int[] { 1, 1 }); ThreadMsgManager.addMapping(TcpMsg.MINA_SERVER_DISCONNECT, new int[] { 1, 1 }); // 注册关注的消息 TestMsgService testService = new TestMsgService(); MsgManager.addMsgListener(testService); // 映射操作码解析类 ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_C, RPCTestC.class, null); ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_S, RPCTestS.class, null); ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_SERVER, RPCTestS.class, null); ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_CLIENT, RPCTestC.class, null); TestRPCServiceC testRPCServiceC = new TestRPCServiceC(); TcpManager.addTcpListener(testRPCServiceC); WaitLockManager.init(120000); ThreadTcpManager.init(); // 创建TCP客户端 MinaClient.init(new String[] { "0.0.0.0" }, new int[] { 7005 }, new String[] { "testserver" }, ThreadMinaClientHandler.class, 10, true, grainLog); }
public static void main(String[] args) throws Exception { GrainLog grainLog = new GrainLog(LoggerFactory.getLogger("minaLog")); GrainLog grainLog1 = new GrainLog(LoggerFactory.getLogger("msgLog")); // 初始化线程消息 AsyncThreadManager.init(100, 10, 3, 1, grainLog1); AsyncThreadManager.start(); MsgManager.init(true, grainLog1); // 设置消息归属线程,不设置则随机分配 ThreadMsgManager.addMapping(TcpMsg.MINA_CLIENT_CREATE_CONNECT, new int[] { 1, 1 }); ThreadMsgManager.addMapping(TcpMsg.MINA_CLIENT_DISCONNECT, new int[] { 1, 1 }); // 注册关注的消息 TestMsgService testService = new TestMsgService(); MsgManager.addMsgListener(testService); // 映射操作码解析类 ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_C, RPCTestC.class, null); ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_S, RPCTestS.class, null); ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_SERVER, RPCTestS.class, null); ThreadTcpManager.addThreadMapping(TestTCode.TEST_RPC_CLIENT, RPCTestC.class, null); // 注册tcp回调函数 TestRPCServiceS testRPCServiceS = new TestRPCServiceS(); TcpManager.addTcpListener(testRPCServiceS); WaitLockManager.init(120000); ThreadTcpManager.init(); // 创建TCP服务器 MinaServer.init("0.0.0.0", 7005, ThreadMinaServerHandler.class, true, grainLog); }