2015-06-16 2 views
1

Я использую Channle код бассейна API здесь написано:, когда netty подключается к моему серверу?

ChannelPool раздел http://netty.io/news/2015/05/07/4-0-28-Final.html

EventLoopGroup group = new NioEventLoopGroup(); 
final Bootstrap cb = new Bootstrap(); 
InetSocketAddress addr1 = new InetSocketAddress("10.0.0.10", 8888); 
InetSocketAddress addr2 = new InetSocketAddress("10.0.0.11", 8888); 

cb.group(group).channel(NioSocketChannel.class); 

ChannelPoolMap<InetSocketAddress, SimpleChannelPool> poolMap = new AbstractChannelPoolMap<InetSocketAddress, SimpleChannelPool>() { 
    @Override 
    protected SimpleChannelPool newPool(InetSocketAddress key) { 
     return new SimpleChannelPool(cb.remoteAddress(key), new TestChannelPoolHandler()); 
    } 
}; 

// depending on when you use addr1 or addr2 you will get different pools. 
final SimpleChannelPool pool = poolMap.get(addr1); 
Future<Channel> f = pool.acquire(); 
f.addListener(new FutureListener<Channel>() { 
    @Override 
    public void operationComplete(Future<Channel> f) { 
     if (f.isSuccess()) { 
      Channel ch = f.getNow(); 
      // Do somethings 
      // ... 
      // ... 

      // Release back to pool 
      pool.release(ch); 
     } 
    } 
}); 

Как я вижу код, который мы никогда не называли .connect метода так что мой вопрос, когда Нетти пытается подключения моего канала к серверу ?

+0

почему -1 может кто-то объяснить хотя бы? – Peeyush

ответ

1

Как вы используете SimpleChannelPool, он будет подключаться, когда вы вызываете приобретать, и в ChannelPool ничего не осталось.

Смежные вопросы