Sorry but I don’t understand what exactly you are asking for. Can you please try to re-phrase ?
On 13. June 2017 at 10:06:55, James Kim ([email protected]) wrote: i am new to netty and i have a problem using my netty program 1. sendToMessage(String message,String GroupId) when user group A come in my sendToMessage i want to create channelPool A like this way user group B come in my sendToMessage i want to create channelPool B and next time if user group A come in again, i will return channelPool A how can i solve this problem? am i righth? 2. is there Bootstrap option required? Bootstrap bootstrap = new Bootstrap(); bootstrap.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); bootstrap.option(ChannelOption.SO_KEEPALIVE, true); 3.FixedChannelPool error handling => tell me how can i FixedChannelPool error handling? ex)acquireTimeoutMillis over time.how? @Service public class NettyPoolService { public static final AttributeKey<CompletableFuture<String>> FUTURE = AttributeKey.valueOf("future"); private static final StringDecoder stringDecoder = new StringDecoder(CharsetUtil.UTF_8); private static final StringEncoder stringEncoder = new StringEncoder(CharsetUtil.UTF_8); private static ChannelPool channelPool; private static EventLoopGroup eventLoopGroup; @Value("${host}") private String host; @Value("${port}") private String port; @Value("${connection.count}") private String numberOfConnections; @Value("${thread.count}") private String numberOfThreads; private synchronized void initConnection (String host, int port, int numberOfThreads, int numberOfConnections) { if ( (channelPool != null) && (eventLoopGroup != null) ) { return; } System.out.println("#############################################"); System.out.println("initConnection start"); eventLoopGroup = new NioEventLoopGroup(numberOfThreads); Bootstrap bootstrap = new Bootstrap(); bootstrap.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); bootstrap.option(ChannelOption.SO_KEEPALIVE, true); //bootstrap.option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 32 * 1024); //bootstrap.option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024); //bootstrap.option(ChannelOption.TCP_NODELAY, true); bootstrap.group(eventLoopGroup).channel(NioSocketChannel.class).remoteAddress(host, port); int acquireTimeoutMillis = 10000; int maxPendingAcquires = Integer.MAX_VALUE; channelPool = new FixedChannelPool(bootstrap, new AbstractChannelPoolHandler() { public void channelCreated(Channel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); // decoders pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter())); pipeline.addLast("stringDecoder", stringDecoder); // encoders pipeline.addLast("stringEncoder", stringEncoder); // business logic handler pipeline.addLast("clientHandler", new ClientPoolHandler(channelPool)); } }, ChannelHealthChecker.ACTIVE,//eventloop AcquireTimeoutAction.NEW, //timeout acquireTimeoutMillis, // numberOfConnections, // maxPendingAcquires); // System.out.println("initConnection End"); System.out.println("#############################################"); }//initConnection public void sendToMessage(String message,String GroupId) { System.out.println("=============GroupId=============:"+GroupId); if (channelPool == null) { initConnection(host, Integer.parseInt(port.trim()), Integer.parseInt(numberOfThreads.trim()), Integer.parseInt(numberOfConnections.trim()) ); } final CompletableFuture<String> future = new CompletableFuture<String>(); Future<Channel> channelFuture = channelPool.acquire(); System.out.println("=============channelFuture.get()=============:"+channelFuture.toString()); channelFuture.addListener(new FutureListener<Channel>() { public void operationComplete(Future<Channel> f) { if (f.isSuccess()) { Channel channel = f.getNow(); channel.attr(NettyPoolClientService.FUTURE).set(future); channel.writeAndFlush(message, channel.voidPromise()); } } }); channelFuture.syncUninterruptibly(); }//sendToBnp } -- You received this message because you are subscribed to the Google Groups "Netty discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/netty/546ab6b1-9277-4c8a-94ea-acaaccea3d42%40googlegroups.com <https://groups.google.com/d/msgid/netty/546ab6b1-9277-4c8a-94ea-acaaccea3d42%40googlegroups.com?utm_medium=email&utm_source=footer> . For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Netty discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/netty/CAKrGPjyYrWQOXA26fs2JOirhij0ezm0SUpJoZkU8X%3DX6StJmzg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
