本文整理匯總了Java中org.jboss.netty.bootstrap.ClientBootstrap.setPipelineFactory方法的典型用法代碼示例。如果您正苦於以下問題:Java ClientBootstrap.setPipelineFactory方法的具體用法?Java ClientBootstrap.setPipelineFactory怎麽用?Java ClientBootstrap.setPipelineFactory使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.jboss.netty.bootstrap.ClientBootstrap
的用法示例。
在下文中一共展示了ClientBootstrap.setPipelineFactory方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: doOpen
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
@Override
protected void doOpen() throws Throwable {
NettyHelper.setNettyLoggerFactory();
bootstrap = new ClientBootstrap(channelFactory);
// config
// @see org.jboss.netty.channel.socket.SocketChannelConfig
bootstrap.setOption("keepAlive", true);
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("connectTimeoutMillis", getTimeout());
final NettyHandler nettyHandler = new NettyHandler(getUrl(), this);
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
public ChannelPipeline getPipeline() {
NettyCodecAdapter adapter = new NettyCodecAdapter(getCodec(), getUrl(), NettyClient.this);
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("decoder", adapter.getDecoder());
pipeline.addLast("encoder", adapter.getEncoder());
pipeline.addLast("handler", nettyHandler);
return pipeline;
}
});
}
示例2: run
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
public void run() {
// Configure the client.
ChannelFactory factory = new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(), Executors.newCachedThreadPool(), 1, 1);
ClientBootstrap bootstrap = new ClientBootstrap(factory);
// Set up the pipeline factory.
bootstrap.setPipelineFactory(setPipelineFactory());
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("keepAlive", true);
// Start the connection attempt.
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
if (oneShot) {
// Wait until the connection is closed or the connection attempt fails.
future.getChannel().getCloseFuture().awaitUninterruptibly();
// Shut down thread pools to exit.
bootstrap.releaseExternalResources();
}
}
示例3: connect
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
/**
* Starts the BGP peer.
*
* @param connectToSocket the socket to connect to
*/
private void connect(InetSocketAddress connectToSocket)
throws InterruptedException {
ChannelFactory channelFactory =
new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
ChannelPipelineFactory pipelineFactory = () -> {
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("BgpPeerFrameDecoderTest",
peerFrameDecoder);
pipeline.addLast("BgpPeerChannelHandlerTest",
peerChannelHandler);
return pipeline;
};
peerBootstrap = new ClientBootstrap(channelFactory);
peerBootstrap.setOption("child.keepAlive", true);
peerBootstrap.setOption("child.tcpNoDelay", true);
peerBootstrap.setPipelineFactory(pipelineFactory);
peerBootstrap.connect(connectToSocket);
}
示例4: connectFrom
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
private Channel connectFrom(InetSocketAddress connectToSocket, SocketAddress localAddress)
throws InterruptedException {
ChannelFactory channelFactory =
new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
ChannelPipelineFactory pipelineFactory = () -> {
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("BgpPeerFrameDecoderTest",
peerFrameDecoder);
pipeline.addLast("BgpPeerChannelHandlerTest",
peerChannelHandler);
return pipeline;
};
peerBootstrap = new ClientBootstrap(channelFactory);
peerBootstrap.setOption("child.keepAlive", true);
peerBootstrap.setOption("child.tcpNoDelay", true);
peerBootstrap.setPipelineFactory(pipelineFactory);
Channel channel = peerBootstrap.connect(connectToSocket, localAddress).getChannel();
return channel;
}
示例5: startClients
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
/**
* Connect to remote servers. We'll initiate the connection to
* any nodes with a lower ID so that there will be a single connection
* between each pair of nodes which we'll use symmetrically
*/
protected void startClients(ChannelPipelineFactory pipelineFactory) {
final ClientBootstrap bootstrap =
new ClientBootstrap(
new NioClientSocketChannelFactory(bossExecutor,
workerExecutor));
bootstrap.setOption("child.reuseAddr", true);
bootstrap.setOption("child.keepAlive", true);
bootstrap.setOption("child.tcpNoDelay", true);
bootstrap.setOption("child.sendBufferSize", SEND_BUFFER_SIZE);
bootstrap.setOption("child.connectTimeoutMillis", CONNECT_TIMEOUT);
bootstrap.setPipelineFactory(pipelineFactory);
clientBootstrap = bootstrap;
ScheduledExecutorService ses =
syncManager.getThreadPool().getScheduledExecutor();
reconnectTask = new SingletonTask(ses, new ConnectTask());
reconnectTask.reschedule(0, TimeUnit.SECONDS);
}
示例6: init
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
public void init() throws SyncException {
cg = new DefaultChannelGroup("Cluster Bootstrap");
bossExecutor = Executors.newCachedThreadPool();
workerExecutor = Executors.newCachedThreadPool();
bootstrap =
new ClientBootstrap(new NioClientSocketChannelFactory(bossExecutor,
workerExecutor));
bootstrap.setOption("child.reuseAddr", true);
bootstrap.setOption("child.keepAlive", true);
bootstrap.setOption("child.tcpNoDelay", true);
bootstrap.setOption("child.sendBufferSize",
RPCService.SEND_BUFFER_SIZE);
bootstrap.setOption("child.receiveBufferSize",
RPCService.SEND_BUFFER_SIZE);
bootstrap.setOption("child.connectTimeoutMillis",
RPCService.CONNECT_TIMEOUT);
pipelineFactory = new BootstrapPipelineFactory(this);
bootstrap.setPipelineFactory(pipelineFactory);
}
示例7: startUp
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
@Override
public void startUp(FloodlightModuleContext context)
throws FloodlightModuleException {
shutdown = false;
bossExecutor = Executors.newCachedThreadPool();
workerExecutor = Executors.newCachedThreadPool();
final ClientBootstrap bootstrap =
new ClientBootstrap(
new NioClientSocketChannelFactory(bossExecutor,
workerExecutor));
bootstrap.setOption("child.reuseAddr", true);
bootstrap.setOption("child.keepAlive", true);
bootstrap.setOption("child.tcpNoDelay", true);
bootstrap.setOption("child.sendBufferSize",
RPCService.SEND_BUFFER_SIZE);
bootstrap.setOption("child.receiveBufferSize",
RPCService.SEND_BUFFER_SIZE);
bootstrap.setOption("child.connectTimeoutMillis",
RPCService.CONNECT_TIMEOUT);
pipelineFactory = new RemoteSyncPipelineFactory(this);
bootstrap.setPipelineFactory(pipelineFactory);
clientBootstrap = bootstrap;
}
示例8: doOpen
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
@Override
protected void doOpen() throws Throwable {
NettyHelper.setNettyLoggerFactory();
bootstrap = new ClientBootstrap(channelFactory);
// config
// @see org.jboss.netty.channel.socket.SocketChannelConfig
bootstrap.setOption("keepAlive", true);
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("connectTimeoutMillis", getTimeout());
//下麵才是正確的
//bootstrap.setOption("connectTimeoutMillis", getConnectTimeout());
//netty handler
final NettyHandler nettyHandler = new NettyHandler(getUrl(), this);
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
public ChannelPipeline getPipeline() {
NettyCodecAdapter adapter = new NettyCodecAdapter(getCodec(), getUrl(), NettyClient.this);
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("decoder", adapter.getDecoder());
pipeline.addLast("encoder", adapter.getEncoder());
pipeline.addLast("handler", nettyHandler);
return pipeline;
}
});
}
示例9: doOpen
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
@Override
protected void doOpen() throws Throwable {
NettyHelper.setNettyLoggerFactory();
bootstrap = new ClientBootstrap(channelFactory);
// config
// @see org.jboss.netty.channel.socket.SocketChannelConfig
bootstrap.setOption("keepAlive", true);
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("connectTimeoutMillis", getTimeout());
final NettyHandler nettyHandler = new NettyHandler(getUrl(), this);
bootstrap.setPipelineFactory(() -> {
NettyCodecAdapter adapter = new NettyCodecAdapter(getCodec(), getUrl(), NettyClient.this);
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("decoder", adapter.getDecoder());
pipeline.addLast("encoder", adapter.getEncoder());
pipeline.addLast("handler", nettyHandler);
return pipeline;
});
}
示例10: ServiceClient
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
private ServiceClient(String host, int port) {
this.host = host;
this.port = port;
// Configure the client.
bootstrap = new ClientBootstrap(channelFactory);
bootstrap.setOption("tcpNoDelay", Boolean.parseBoolean(AppProperties
.get("rpc_client_tcpNoDelay", "true")));
bootstrap.setOption("keepAlive", Boolean.parseBoolean(AppProperties
.get("rpc_client_keepAlive", "true")));
bootstrap.setOption("connectTimeoutMillis", AppProperties.getAsInt(
"rpc_client_connectTimeoutMillis", 1000 * 30));
bootstrap.setOption("receiveBufferSize", AppProperties.getAsInt(
"rpc_client_receiveBufferSize", 1024 * 1024));
bootstrap.setOption("soLinger",
AppProperties.getAsInt("rpc_client_soLinger", -1));
bootstrap.setPipelineFactory(new RpcClientPipelineFactory());
connAmout = AppProperties.getAsInt("rpc_client_connectionAmount", 1);
this.channelMap = new ConcurrentHashMap<Integer, Channel>();
initConns();
}
示例11: createChannel
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
/**
* Creates a new channel to given host and port.<br>
*
* @param host
* @param port
* @return
* @throws Exception
*/
private Channel createChannel(String host, int port) throws Exception {
// Important notice; use NioClientSocketChannelFactory instead
// of NioServerSocketChannelFactory
ChannelFactory channelFactory = new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
ClientBootstrap bootstrap = new ClientBootstrap(channelFactory);
//bootstrap.setPipelineFactory(new SipClientPipelineFactory(false,false));
bootstrap.setPipelineFactory(new SipPipelineFactory(sipServerHandler));
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
// open / connect to channel
Channel c = future.await().getChannel();
if (!future.isSuccess()) {
log.warn(String.format("createChannel. Establishing connection failed[%s]",
future.getCause().getMessage()));
bootstrap.releaseExternalResources();
}
return c;
}
示例12: DefaultClient
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
/**
* Creates a new instance that talks to a {@link DefaultServer} on the specified host and port.
*
* @param clientId
* A unique id. No two clients with the same id can access the same
* {@link DefaultServer}
* @param host
* The host the {@link DefaultServer} runs on
* @param port
* The port the {@link DefaultServer} runs on
*/
public DefaultClient(final String clientId, final String host, final int port) {
this.clientId = clientId;
this.host = host;
this.port = port;
// Configure the client.
bootstrap = new ClientBootstrap(
new OioClientSocketChannelFactory(Executors.newCachedThreadPool(new DaemonThreadFactory())));
// Set up the pipeline factory.
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
@Override
public ChannelPipeline getPipeline() throws Exception {
return Channels.pipeline(
new ObjectEncoder(ENCODER_ESTIMATED_LENGTH),
new ObjectDecoder(DECODER_ESTIMATED_LENGTH, ClassResolvers.weakCachingResolver(null)),
new ClientHandshakeHandler(new Handshake(clientId), HANDSHAKE_TIMEOUT_MILLIS),
clientHandler);
}
});
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("keepAlive", true);
bootstrap.setOption("soTimeout", 10000L);
}
示例13: HttpTunnelSoakTester
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
public HttpTunnelSoakTester() {
scheduledExecutor = Executors.newSingleThreadScheduledExecutor();
executor = Executors.newCachedThreadPool();
ServerSocketChannelFactory serverChannelFactory = new NioServerSocketChannelFactory(
executor, executor);
HttpTunnelServerChannelFactory serverTunnelFactory = new HttpTunnelServerChannelFactory(
serverChannelFactory);
serverBootstrap = new ServerBootstrap(serverTunnelFactory);
serverBootstrap.setPipelineFactory(createServerPipelineFactory());
ClientSocketChannelFactory clientChannelFactory = new NioClientSocketChannelFactory(
executor, executor);
HttpTunnelClientChannelFactory clientTunnelFactory = new HttpTunnelClientChannelFactory(
clientChannelFactory);
clientBootstrap = new ClientBootstrap(clientTunnelFactory);
clientBootstrap.setPipelineFactory(createClientPipelineFactory());
configureProxy();
channels = new DefaultChannelGroup();
}
示例14: open
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
/**
* @param connectStatus 心跳檢測狀態是否正常
* @throws Throwable
*/
public void open(boolean connectStatus) throws Throwable {
logger.info("open start,"+getConnStr());
bootstrap = new ClientBootstrap(factory);
// timer = new HashedWheelTimer();
{
bootstrap.setOption("tcpNoDelay", Boolean.parseBoolean(clientConfig.getTcpNoDelay()));
bootstrap.setOption("reuseAddress", Boolean.parseBoolean(clientConfig.getReuseAddress()));
bootstrap.setOption("SO_RCVBUF",1024*128);
bootstrap.setOption("SO_SNDBUF",1024*128);
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
public ChannelPipeline getPipeline() {
ChannelPipeline pipeline = Channels.pipeline();
// int readTimeout = clientConfig.getReadTimeout();
// if (readTimeout > 0) {
// pipeline.addLast("timeout", new ReadTimeoutHandler(timer,
// readTimeout, TimeUnit.MILLISECONDS));
// }
pipeline.addLast("encoder", new RpcRequestEncode());
pipeline.addLast("decoder", new RpcResponseDecode());
pipeline.addLast("handler", NettyRpcConnection.this);
return pipeline;
}
});
}
connected.set(connectStatus);
logger.info("open finish,"+getConnStr());
}
示例15: main
import org.jboss.netty.bootstrap.ClientBootstrap; //導入方法依賴的package包/類
public static void main(String args[]) {
// Client服務啟動器
ClientBootstrap bootstrap = new ClientBootstrap(
new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool()));
// 設置一個處理服務端消息和各種消息事件的類(Handler)
bootstrap.setPipelineFactory(() -> Channels.pipeline(new HelloClientHandler()));
// 連接到本地的8000端口的服務端
bootstrap.connect(new InetSocketAddress("127.0.0.1", 8000));
}