com.baidu.brpc.protocol.Options Java Examples

The following examples show how to use com.baidu.brpc.protocol.Options. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Server.java    From rpc-benchmark with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) throws InterruptedException {
    int port = 8002;

    RpcServerOptions options = new RpcServerOptions();
    options.setReceiveBufferSize(64 * 1024 * 1024);
    options.setSendBufferSize(64 * 1024 * 1024);
    options.setKeepAliveTime(20);
    options.setProtocolType(Options.ProtocolType.PROTOCOL_HTTP_JSON_VALUE);

    final RpcServer rpcServer = new RpcServer(port, options);
    rpcServer.registerService(new UserServiceServerImpl());
    rpcServer.start();

    System.out.println("START");
    Thread.sleep(Long.MAX_VALUE);
}
 
Example #2
Source File: RpcLongConnectionClientTest.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
@Test
public void testNsheadProto() {
    RpcServerOptions serverOptions = RpcOptionsUtils.getRpcServerOptions();
    serverOptions.setProtocolType(Options.ProtocolType.PROTOCOL_NSHEAD_PROTOBUF_VALUE);
    RpcServer rpcServer = new RpcServer(8000, serverOptions);
    rpcServer.registerService(new EchoServiceImpl());
    rpcServer.start();

    RpcClientOptions clientOptions = RpcOptionsUtils.getRpcClientOptions();
    clientOptions.setProtocolType(Options.ProtocolType.PROTOCOL_NSHEAD_PROTOBUF_VALUE);
    RpcClient rpcClient = new RpcClient("list://127.0.0.1:8000", clientOptions);
    EchoService echoService = BrpcProxy.getProxy(rpcClient, EchoService.class);
    Echo.EchoRequest request = Echo.EchoRequest.newBuilder().setMessage("hello").build();
    Echo.EchoResponse response = echoService.echo(request);
    assertEquals("hello", response.getMessage());

    rpcClient.stop();
    rpcServer.shutdown();
}
 
Example #3
Source File: RpcShortConnectionClientTest.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
@Test
public void testHttpProto() {
    RpcServerOptions serverOptions = RpcOptionsUtils.getRpcServerOptions();
    serverOptions.setProtocolType(Options.ProtocolType.PROTOCOL_HTTP_PROTOBUF_VALUE);
    RpcServer rpcServer = new RpcServer(8001, serverOptions);
    rpcServer.registerService(new EchoServiceImpl());
    rpcServer.start();

    RpcClientOptions clientOptions = RpcOptionsUtils.getRpcClientOptions();
    clientOptions.setProtocolType(Options.ProtocolType.PROTOCOL_HTTP_PROTOBUF_VALUE);
    clientOptions.setLoadBalanceType(LoadBalanceStrategy.LOAD_BALANCE_RANDOM);
    clientOptions.setChannelType(ChannelType.SHORT_CONNECTION);

    Endpoint endPoint = new Endpoint("127.0.0.1", 8001);
    RpcClient rpcClient = new RpcClient(endPoint, clientOptions);
    EchoService echoService = BrpcProxy.getProxy(rpcClient, EchoService.class);
    Echo.EchoRequest request = Echo.EchoRequest.newBuilder().setMessage("hello").build();
    Echo.EchoResponse response = echoService.echo(request);
    assertEquals("hello", response.getMessage());

    rpcClient.stop();
    rpcServer.shutdown();
}
 
Example #4
Source File: RpcShortConnectionClientTest.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
@Test
public void testNsheadProto() {
    RpcServerOptions serverOptions = RpcOptionsUtils.getRpcServerOptions();
    serverOptions.setProtocolType(Options.ProtocolType.PROTOCOL_NSHEAD_PROTOBUF_VALUE);
    RpcServer rpcServer = new RpcServer(8001, serverOptions);
    rpcServer.registerService(new EchoServiceImpl());
    rpcServer.start();

    RpcClientOptions clientOptions = RpcOptionsUtils.getRpcClientOptions();
    clientOptions.setProtocolType(Options.ProtocolType.PROTOCOL_NSHEAD_PROTOBUF_VALUE);
    clientOptions.setLoadBalanceType(LoadBalanceStrategy.LOAD_BALANCE_RANDOM);
    clientOptions.setChannelType(ChannelType.SHORT_CONNECTION);
    Endpoint endPoint = new Endpoint("127.0.0.1", 8001);

    RpcClient rpcClient = new RpcClient(endPoint, clientOptions);
    EchoService echoService = BrpcProxy.getProxy(rpcClient, EchoService.class);
    Echo.EchoRequest request = Echo.EchoRequest.newBuilder().setMessage("hello").build();
    Echo.EchoResponse response = echoService.echo(request);
    assertEquals("hello", response.getMessage());

    rpcClient.stop();
    rpcServer.shutdown();
}
 
Example #5
Source File: SofaRpcProtocol.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
protected int getStandardCompressType(SofaRpcProto.SofaCompressType sofaCompressType) {
    int standardCompressType;
    switch (sofaCompressType.getNumber()) {
        case SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_NONE_VALUE:
            standardCompressType = Options.CompressType.COMPRESS_TYPE_NONE_VALUE;
            break;
        case SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_SNAPPY_VALUE:
            standardCompressType = Options.CompressType.COMPRESS_TYPE_SNAPPY_VALUE;
            break;
        case SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_GZIP_VALUE:
            standardCompressType = Options.CompressType.COMPRESS_TYPE_GZIP_VALUE;
            break;
        case SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_ZLIB_VALUE:
            standardCompressType = Options.CompressType.COMPRESS_TYPE_ZLIB_VALUE;
            break;
        case SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_LZ4_VALUE:
            standardCompressType = Options.CompressType.COMPRESS_TYPE_LZ4_VALUE;
            break;
        default:
            throw new RpcException(RpcException.SERIALIZATION_EXCEPTION, "not support compress type");
    }
    return standardCompressType;
}
 
Example #6
Source File: DubboServer.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    RpcServerOptions serverOptions = new RpcServerOptions();
    serverOptions.setProtocolType(Options.ProtocolType.PROTOCOL_DUBBO_VALUE);
    serverOptions.setNamingServiceUrl("dubbo://127.0.0.1:2181");
    serverOptions.setReceiveBufferSize(64 * 1024 * 1024);
    serverOptions.setSendBufferSize(64 * 1024 * 1024);
    serverOptions.setWorkThreadNum(12);

    RpcServer rpcServer = new RpcServer(8898, serverOptions);
    EchoService service = new EchoServiceImpl();

    NamingOptions namingOptions = new NamingOptions();
    namingOptions.setGroup("");
    namingOptions.setVersion("");
    rpcServer.registerService(service, namingOptions);
    rpcServer.start();

    // make server keep running
    synchronized (DubboServer.class) {
        try {
            DubboServer.class.wait();
        } catch (Throwable e) {
        }
    }
}
 
Example #7
Source File: RpcServerTest.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    int port = 8080;
    if (args.length == 1) {
        port = Integer.valueOf(args[0]);
    }

    RpcServerOptions options = new RpcServerOptions();
    options.setProtocolType(Options.ProtocolType.PROTOCOL_NSHEAD_PROTOBUF_VALUE);
    // options.setProtocolType(Options.ProtocolType.PROTOCOL_NSHEAD_JSON_VALUE);
    options.setEncoding("gbk");
    RpcServer rpcServer = new RpcServer(port, options);
    rpcServer.registerService(new EchoServiceImpl());
    rpcServer.start();

    // make server keep running
    synchronized (RpcServerTest.class) {
        try {
            RpcServerTest.class.wait();
        } catch (Throwable e) {
            // ignore
        }
    }
}
 
Example #8
Source File: SofaRpcProtocol.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
protected SofaRpcProto.SofaCompressType getSofaCompressType(int compressType) {
    SofaRpcProto.SofaCompressType sofaCompressType;
    switch (compressType) {
        case Options.CompressType.COMPRESS_TYPE_NONE_VALUE:
            sofaCompressType = SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_NONE;
            break;
        case Options.CompressType.COMPRESS_TYPE_SNAPPY_VALUE:
            sofaCompressType = SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_SNAPPY;
            break;
        case Options.CompressType.COMPRESS_TYPE_GZIP_VALUE:
            sofaCompressType = SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_GZIP;
            break;
        case Options.CompressType.COMPRESS_TYPE_ZLIB_VALUE:
            sofaCompressType = SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_ZLIB;
            break;
        case Options.CompressType.COMPRESS_TYPE_LZ4_VALUE:
            sofaCompressType = SofaRpcProto.SofaCompressType.SOFA_COMPRESS_TYPE_LZ4;
            break;
        default:
            throw new RpcException(RpcException.SERIALIZATION_EXCEPTION, "not support compress type");
    }
    return sofaCompressType;
}
 
Example #9
Source File: StargateDemoServer.java    From brpc-java with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    RpcServerOptions serverOptions = new RpcServerOptions();
    serverOptions.setProtocolType(Options.ProtocolType.PROTOCOL_STARGATE_VALUE);
    serverOptions.setNamingServiceUrl(StargateDemoConstant.namingUrl);

    RpcServer rpcServer = new RpcServer(8898, serverOptions);
    StargateDemoService demoService = new StargateDemoServiceImpl();

    NamingOptions namingOptions = new NamingOptions();
    namingOptions.setGroup(StargateDemoConstant.group);
    namingOptions.setVersion(StargateDemoConstant.version);

    rpcServer.registerService(demoService, namingOptions);
    rpcServer.start();

    // make server keep running
    synchronized (StargateDemoServer.class) {
        try {
            StargateDemoServer.class.wait();
        } catch (Throwable e) {
        }
    }
}
 
Example #10
Source File: BaiduRpcProtocolTest.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
public RpcRequest buildRpcRequest() throws Exception {
    RpcRequest rpcRequest = new RpcRequest();
    rpcRequest.setLogId(0);
    rpcRequest.setServiceName(EchoService.class.getName());
    rpcRequest.setTargetMethod(EchoService.class.getMethod("echo", Echo.EchoRequest.class));
    rpcRequest.setMethodName(rpcRequest.getTargetMethod().getName());
    rpcRequest.setTarget(new EchoServiceImpl());
    rpcRequest.setRpcMethodInfo(buildRpcMethodInfo());

    Echo.EchoRequest echoRequest = Echo.EchoRequest.newBuilder().setMessage("hello").build();
    rpcRequest.setArgs(new Object[] {echoRequest});
    rpcRequest.setBinaryAttachment(Unpooled.wrappedBuffer("hello".getBytes()));
    rpcRequest.setCompressType(Options.CompressType.COMPRESS_TYPE_NONE_VALUE);
    return rpcRequest;
}
 
Example #11
Source File: CaseController.java    From skywalking with Apache License 2.0 5 votes vote down vote up
@RequestMapping("/brpc")
@ResponseBody
public String brpc() {
    RpcClientOptions clientOption = new RpcClientOptions();
    clientOption.setProtocolType(Options.ProtocolType.PROTOCOL_BAIDU_STD_VALUE);
    clientOption.setWriteTimeoutMillis(1000);
    clientOption.setReadTimeoutMillis(5000);
    clientOption.setMaxTotalConnections(1000);
    clientOption.setMinIdleConnections(10);
    clientOption.setLoadBalanceType(LoadBalanceStrategy.LOAD_BALANCE_FAIR);
    clientOption.setCompressType(Options.CompressType.COMPRESS_TYPE_NONE);

    String serviceUrl = "list://127.0.0.1:1118";
    Echo.EchoRequest request = Echo.EchoRequest.newBuilder()
            .setMessage("helloooooooooooo")
            .build();

    RpcClient rpcClient = new RpcClient(serviceUrl, clientOption);
    EchoService echoService = BrpcProxy.getProxy(rpcClient, EchoService.class);
    try {
        EchoResponse response = echoService.echo(request);
        System.out.println(response.getMessage());
    } catch (RpcException ex) {
    }
    rpcClient.stop();
    return SUCCESS;
}
 
Example #12
Source File: CompressManagerTest.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
@Test
public void testGetCompress() {
    CompressManager compressManager = CompressManager.getInstance();
    Compress compress = compressManager.getCompress(Options.CompressType.COMPRESS_TYPE_NONE_VALUE);
    Assert.assertNotNull(compress);
    compress = compressManager.getCompress(Options.CompressType.COMPRESS_TYPE_GZIP_VALUE);
    Assert.assertNotNull(compress);
}
 
Example #13
Source File: CompressManager.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
private CompressManager() {
    compressArray = new Compress[MAX_COMPRESS_NUM];
    compressArray[Options.CompressType.COMPRESS_TYPE_NONE_VALUE] = new NoneCompress();
    compressArray[Options.CompressType.COMPRESS_TYPE_GZIP_VALUE] = new GzipCompress();
    compressArray[Options.CompressType.COMPRESS_TYPE_ZLIB_VALUE] = new ZlibCompress();
    compressArray[Options.CompressType.COMPRESS_TYPE_SNAPPY_VALUE] = new SnappyCompress();
    compressNum = 4;
}
 
Example #14
Source File: ServerPushTest.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
@Test
public void testBasic() {
    RpcServerOptions rpcServerOptions = RpcOptionsUtils.getRpcServerOptions();
    rpcServerOptions.setProtocolType(Options.ProtocolType.PROTOCOL_SERVER_PUSH_VALUE);
    RpcServer rpcServer = new RpcServer(8000, rpcServerOptions);
    rpcServer.registerService(new EchoServiceImpl());
    rpcServer.start();

    RpcClientOptions rpcClientOptions = RpcOptionsUtils.getRpcClientOptions();
    rpcClientOptions.setProtocolType(Options.ProtocolType.PROTOCOL_SERVER_PUSH_VALUE);
    rpcClientOptions.setClientName("c1");
    RpcClient rpcClient = new RpcClient("list://127.0.0.1:8000", rpcClientOptions);
    EchoService echoService = BrpcProxy.getProxy(rpcClient, EchoService.class);
    rpcClient.registerPushService(new UserPushApiImpl());

    Echo.EchoRequest request = Echo.EchoRequest.newBuilder().setMessage("hello").build();
    Echo.EchoResponse response = echoService.echo(request);
    assertEquals("hello", response.getMessage());

    ServerSideUserPushApi pushApi =
            (ServerSideUserPushApi) BrpcPushProxy.getProxy(rpcServer, ServerSideUserPushApi.class);
    PushData p = new PushData();
    p.setData("abc");
    PushResult pushResult = pushApi.clientReceive("c1", p);

    assertEquals("got data:abc", pushResult.getResult());

    rpcClient.stop();

    rpcServer.shutdown();
}
 
Example #15
Source File: SingleConnectionClientTest.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
private static RpcClientOptions getRpcClientOptions() {
    RpcClientOptions clientOption = new RpcClientOptions();
    clientOption.setProtocolType(Options.ProtocolType.PROTOCOL_BAIDU_STD_VALUE);
    clientOption.setWriteTimeoutMillis(1000);
    clientOption.setReadTimeoutMillis(1000);
    clientOption.setMaxTotalConnections(1000);
    clientOption.setMinIdleConnections(10);
    clientOption.setLoadBalanceType(LoadBalanceStrategy.LOAD_BALANCE_ROUND_ROBIN);
    clientOption.setCompressType(Options.CompressType.COMPRESS_TYPE_NONE);
    clientOption.setChannelType(ChannelType.SINGLE_CONNECTION);
    clientOption.setKeepAliveTime(25);
    return clientOption;
}
 
Example #16
Source File: DubboClient.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    RpcClientOptions options = new RpcClientOptions();
    options.setProtocolType(Options.ProtocolType.PROTOCOL_DUBBO_VALUE);
    options.setReadTimeoutMillis(1000);
    options.setWriteTimeoutMillis(1000);
    RpcClient rpcClient = new RpcClient("dubbo://127.0.0.1:2181", options);

    NamingOptions namingOptions = new NamingOptions();
    namingOptions.setGroup("");
    namingOptions.setVersion("");

    EchoService echoService = RpcClient.getProxy(rpcClient, EchoService.class, namingOptions);

    for (int i = 0; i < 10; i++) {
        EchoRequest request = new EchoRequest();
        request.setMessage("hello world");
        EchoResponse response = echoService.echo(request);
        System.out.println("receive response:" + GsonUtils.toJson(response));
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    rpcClient.stop();
}
 
Example #17
Source File: StargateDemoClient.java    From brpc-java with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    RpcClientOptions options = new RpcClientOptions();
    // Stargate 协议需要强指定协议类型,不可使用BRPC协议解析器
    options.setProtocolType(Options.ProtocolType.PROTOCOL_STARGATE_VALUE);
    options.setReadTimeoutMillis(1000);
    options.setWriteTimeoutMillis(1000);
    RpcClient rpcClient = new RpcClient(StargateDemoConstant.namingUrl, options);

    NamingOptions namingOptions = new NamingOptions();
    namingOptions.setGroup(StargateDemoConstant.group);
    namingOptions.setVersion(StargateDemoConstant.version);

    StargateDemoService proxy = BrpcProxy.getProxy(rpcClient, StargateDemoService.class, namingOptions);

    for (int i = 0, times = 10; i < times; i++) {
        RpcContext rpcContext = RpcContext.getContext();
        rpcContext.reset();
        rpcContext.setRequestKvAttachment("key", "value");
        StargateDemoReqDto reqDto = new StargateDemoReqDto();
        reqDto.setId(1000L);
        reqDto.setName("test");
        StargateDemoResDto call = proxy.call(reqDto);
        System.out.println(GsonUtils.toJson(call));
        if (rpcContext.getResponseKvAttachment() != null) {
            System.out.println(rpcContext.getResponseKvAttachment().get("resKey"));
        }
        System.out.println();
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    rpcClient.stop();
}
 
Example #18
Source File: NSHeadJsonProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public String getProtocolName() {
    return Options.ProtocolType.PROTOCOL_NSHEAD_JSON.name();
}
 
Example #19
Source File: RpcLongConnectionClientTest.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Test
public void testHttpProto() {
    RpcServerOptions serverOptions = RpcOptionsUtils.getRpcServerOptions();
    serverOptions.setProtocolType(Options.ProtocolType.PROTOCOL_HTTP_PROTOBUF_VALUE);
    RpcServer rpcServer = new RpcServer(8000, serverOptions);
    rpcServer.registerService(new EchoServiceImpl());
    rpcServer.start();

    RpcClientOptions clientOptions = RpcOptionsUtils.getRpcClientOptions();
    clientOptions.setProtocolType(Options.ProtocolType.PROTOCOL_HTTP_PROTOBUF_VALUE);
    clientOptions.setMaxTryTimes(1);
    clientOptions.setReadTimeoutMillis(1000000);
    clientOptions.setWriteTimeoutMillis(1000000);
    RpcClient rpcClient = new RpcClient("list://127.0.0.1:8000", clientOptions);
    EchoService echoService = BrpcProxy.getProxy(rpcClient, EchoService.class);

    // test big message
    String message =
            "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello"
                    + "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello";
    Echo.EchoRequest request = Echo.EchoRequest.newBuilder().setMessage(message).build();
    Echo.EchoResponse response = echoService.echo(request);
    assertEquals(message, response.getMessage());

    // test small message
    message = "hello";
    request = Echo.EchoRequest.newBuilder().setMessage(message).build();
    response = echoService.echo(request);
    assertEquals(message, response.getMessage());

    rpcClient.stop();
    rpcServer.shutdown();
}
 
Example #20
Source File: GlobalThreadPoolSharingTest.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Test
@Ignore
public void testShareGlobalThreadPool() {
    RpcServerOptions rpcServerOptions = RpcOptionsUtils.getRpcServerOptions();
    rpcServerOptions.setProtocolType(Options.ProtocolType.PROTOCOL_SERVER_PUSH_VALUE);
    rpcServerOptions.setGlobalThreadPoolSharing(true);
    RpcServer rpcServer1 = new RpcServer(8000, rpcServerOptions);
    rpcServer1.registerService(new EchoServiceImpl());
    rpcServer1.start();
    RpcServer rpcServer2 = new RpcServer(8001, rpcServerOptions);
    rpcServer2.registerService(new EchoServiceImpl());
    rpcServer2.start();
    Assert.assertTrue(rpcServer1.getBossGroup() == rpcServer2.getBossGroup());
    Assert.assertTrue(rpcServer1.getWorkerGroup() == rpcServer2.getWorkerGroup());
    Assert.assertTrue(rpcServer1.getThreadPool() == rpcServer2.getThreadPool());

    RpcClientOptions rpcClientOptions = RpcOptionsUtils.getRpcClientOptions();
    rpcClientOptions.setProtocolType(Options.ProtocolType.PROTOCOL_SERVER_PUSH_VALUE);
    rpcClientOptions.setClientName("c1");
    rpcClientOptions.setGlobalThreadPoolSharing(true);

    RpcClient rpcClient1 = new RpcClient("list://127.0.0.1:8000", rpcClientOptions);
    EchoService echoService1 = BrpcProxy.getProxy(rpcClient1, EchoService.class);
    rpcClient1.registerPushService(new UserPushApiImpl());
    RpcClient rpcClient2 = new RpcClient("list://127.0.0.1:8001", rpcClientOptions);
    EchoService echoService2 = BrpcProxy.getProxy(rpcClient2, EchoService.class);
    rpcClient2.registerPushService(new UserPushApiImpl());
    RpcClient rpcClient3 = new RpcClient("list://127.0.0.1:8001", rpcClientOptions);
    EchoService echoService3 = BrpcProxy.getProxy(rpcClient3, EchoService.class);
    rpcClient3.registerPushService(new UserPushApiImpl());
    BrpcThreadPoolManager threadPoolManager = BrpcThreadPoolManager.getInstance();
    Assert.assertTrue(threadPoolManager.getIoThreadPoolMap().size() == 1);
    Assert.assertTrue(threadPoolManager.getWorkThreadPoolMap().size() == 1);

    Echo.EchoRequest request = Echo.EchoRequest.newBuilder().setMessage("hello").build();
    for (int i = 0; i < 1000; i++) {
        Echo.EchoResponse response = echoService1.echo(request);
        Echo.EchoResponse response2 = echoService2.echo(request);
        Echo.EchoResponse response3 = echoService3.echo(request);
        assertEquals("hello", response.getMessage());
        assertEquals("hello", response2.getMessage());
        assertEquals("hello", response3.getMessage());
    }

    // test shutndown and stop

    rpcClient1.stop();
    rpcClient2.stop();
    rpcClient3.stop();
    rpcServer1.shutdown();
    rpcServer2.shutdown();
    // client
    Assert.assertTrue(threadPoolManager.getIoThreadPoolMap().size() == 1);
    Assert.assertTrue(threadPoolManager.getWorkThreadPoolMap().size() == 1);

    // server
    EventLoopGroup r1BossGroup = rpcServer1.getBossGroup();
    EventLoopGroup r1WorkerGroup = rpcServer1.getWorkerGroup();
    ThreadPool r1ThreadPool = rpcServer1.getThreadPool();

    Assert.assertFalse(r1BossGroup.isShutdown());
    Assert.assertFalse(r1WorkerGroup.isShutdown());
    Assert.assertFalse(r1ThreadPool.isStopped());

    ShutDownManager.shutdownGlobalThreadPools();

    try {
        Thread.sleep(5 * 1000L);
    } catch (InterruptedException e) {
        // do nothing
    }

    Assert.assertTrue(threadPoolManager.getIoThreadPoolMap().size() == 0);
    Assert.assertTrue(threadPoolManager.getWorkThreadPoolMap().size() == 0);

    Assert.assertTrue(r1BossGroup.isShutdown());
    Assert.assertTrue(r1WorkerGroup.isShutdown());
    Assert.assertTrue(r1ThreadPool.isStopped());

}
 
Example #21
Source File: StargateRpcProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public String getProtocolName() {
    return Options.ProtocolType.PROTOCOL_STARGATE.name();
}
 
Example #22
Source File: StargateRpcProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public Integer getProtocolType() {
    return Options.ProtocolType.PROTOCOL_STARGATE_VALUE;
}
 
Example #23
Source File: HuluRpcProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public String getProtocolName() {
    return Options.ProtocolType.PROTOCOL_HULU_PBRPC.name();
}
 
Example #24
Source File: HuluRpcProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public Integer getProtocolType() {
    return Options.ProtocolType.PROTOCOL_HULU_PBRPC_VALUE;
}
 
Example #25
Source File: HttpProtobufProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public String getProtocolName() {
    return Options.ProtocolType.PROTOCOL_HTTP_PROTOBUF.name();
}
 
Example #26
Source File: HttpProtobufProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public Integer getProtocolType() {
    return Options.ProtocolType.PROTOCOL_HTTP_PROTOBUF_VALUE;
}
 
Example #27
Source File: HttpJsonProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public String getProtocolName() {
    return Options.ProtocolType.PROTOCOL_HTTP_JSON.name();
}
 
Example #28
Source File: HttpJsonProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public Integer getProtocolType() {
    return Options.ProtocolType.PROTOCOL_HTTP_JSON_VALUE;
}
 
Example #29
Source File: BaiduRpcProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public String getProtocolName() {
    return Options.ProtocolType.PROTOCOL_BAIDU_STD.name();
}
 
Example #30
Source File: BaiduRpcProtocolFactory.java    From brpc-java with Apache License 2.0 4 votes vote down vote up
@Override
public Integer getProtocolType() {
    return Options.ProtocolType.PROTOCOL_BAIDU_STD_VALUE;
}