private AltsChannelBuilder(String target) { delegate = NettyChannelBuilder.forTarget(target) .keepAliveTime(20, TimeUnit.SECONDS) .keepAliveTimeout(10, TimeUnit.SECONDS) .keepAliveWithoutCalls(true); InternalNettyChannelBuilder.setProtocolNegotiatorFactory( delegate(), new ProtocolNegotiatorFactory()); }
private ManagedChannel createChannel(BasicMeta.Endpoint endpoint) { String target = endpoint.getIp(); if (Strings.isNullOrEmpty(target)) { target = endpoint.getHostname(); } NettyChannelBuilder builder = NettyChannelBuilder .forAddress(target, endpoint.getPort()) .executor((Executor) applicationContext.getBean("grpcClientExecutor")) .keepAliveTime(6, TimeUnit.MINUTES) .keepAliveTimeout(24, TimeUnit.HOURS) .keepAliveWithoutCalls(true) .idleTimeout(1, TimeUnit.HOURS) .perRpcBufferLimit(128 << 20) .flowControlWindow(32 << 20) .maxInboundMessageSize(32 << 20) .enableRetry() .retryBufferSize(16 << 20) .maxRetryAttempts(20); // todo: configurable LOGGER.info("[COMMON][CHANNEL][CREATE] use insecure channel to {}", toStringUtils.toOneLineString(endpoint)); builder.negotiationType(NegotiationType.PLAINTEXT) .usePlaintext(); ManagedChannel managedChannel = builder .build(); LOGGER.info("[COMMON][CHANNEL][CREATE] created channel to {}", toStringUtils.toOneLineString(endpoint)); return managedChannel; }
.executor((Executor) applicationContext.getBean("grpcClientExecutor")) .keepAliveTime(6, TimeUnit.MINUTES) .keepAliveTimeout(24, TimeUnit.HOURS) .keepAliveWithoutCalls(true) .idleTimeout(1, TimeUnit.HOURS)