本文整理汇总了Java中org.jboss.netty.bootstrap.ClientBootstrap.getPipeline方法的典型用法代码示例。如果您正苦于以下问题:Java ClientBootstrap.getPipeline方法的具体用法?Java ClientBootstrap.getPipeline怎么用?Java ClientBootstrap.getPipeline使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jboss.netty.bootstrap.ClientBootstrap
的用法示例。
在下文中一共展示了ClientBootstrap.getPipeline方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: TSOClientRaw
import org.jboss.netty.bootstrap.ClientBootstrap; //导入方法依赖的package包/类
public TSOClientRaw(String host, int port) throws InterruptedException, ExecutionException {
// Start client with Nb of active threads = 3 as maximum.
ChannelFactory factory = new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(
new ThreadFactoryBuilder().setNameFormat("tsoclient-boss-%d").build()),
Executors.newCachedThreadPool(
new ThreadFactoryBuilder().setNameFormat("tsoclient-worker-%d").build()), 3);
// Create the bootstrap
ClientBootstrap bootstrap = new ClientBootstrap(factory);
InetSocketAddress addr = new InetSocketAddress(host, port);
ChannelPipeline pipeline = bootstrap.getPipeline();
pipeline.addLast("lengthbaseddecoder",
new LengthFieldBasedFrameDecoder(8 * 1024, 0, 4, 0, 4));
pipeline.addLast("lengthprepender", new LengthFieldPrepender(4));
pipeline.addLast("protobufdecoder",
new ProtobufDecoder(TSOProto.Response.getDefaultInstance()));
pipeline.addLast("protobufencoder", new ProtobufEncoder());
Handler handler = new Handler();
pipeline.addLast("handler", handler);
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("keepAlive", true);
bootstrap.setOption("reuseAddress", true);
bootstrap.setOption("connectTimeoutMillis", 100);
ChannelFuture channelFuture = bootstrap.connect(addr).await();
channel = channelFuture.getChannel();
}
示例2: channelOpen
import org.jboss.netty.bootstrap.ClientBootstrap; //导入方法依赖的package包/类
public void channelOpen(final Channel inboundChannel, final Observer observer) throws Exception {
synchronized (trafficLock) {
// Suspend incoming traffic until connected to the remote host.
inboundChannel.setReadable(false);
// Start the connection attempt.
ClientBootstrap cb = new ClientBootstrap(cf);
ChannelPipeline pipeline = cb.getPipeline();
updateOutboundPipeline(pipeline, inboundChannel);
ChannelFuture f = cb.connect(new InetSocketAddress(remoteHost, remotePort));
outboundChannel = f.getChannel();
f.addListener(new ChannelFutureListener() {
public void operationComplete(ChannelFuture future) throws Exception {
if (future.isSuccess()) {
// Connection attempt succeeded:
// Begin to accept incoming traffic.
LOG.info(String.format("[" + uid + "]" + "[" + System.currentTimeMillis() + "]" + "Successful connection to remote ip [%s] : %s", remoteHost + ":" + remotePort, future.getChannel()));
inboundChannel.setReadable(true);
} else {
// Close the connection if the connection attempt has failed.
LOG.info(String.format("[" + uid + "]" + "[" + System.currentTimeMillis() + "]" + "No connection to remote ip [%s]. Closing of client connection... : %s", remoteHost + ":" + remotePort, future.getChannel()));
inboundChannel.close();
}
if (observer != null) {
observer.update(null, future);
}
}
});
}
}
示例3: TSOClient
import org.jboss.netty.bootstrap.ClientBootstrap; //导入方法依赖的package包/类
private TSOClient(OmidClientConfiguration omidConf) throws IOException {
// Start client with Nb of active threads = 3 as maximum.
int tsoExecutorThreads = omidConf.getExecutorThreads();
factory = new NioClientSocketChannelFactory(
Executors.newCachedThreadPool(
new ThreadFactoryBuilder().setNameFormat("tsoclient-boss-%d").build()),
Executors.newCachedThreadPool(
new ThreadFactoryBuilder().setNameFormat("tsoclient-worker-%d").build()), tsoExecutorThreads);
// Create the bootstrap
bootstrap = new ClientBootstrap(factory);
requestTimeoutInMs = omidConf.getRequestTimeoutInMs();
requestMaxRetries = omidConf.getRequestMaxRetries();
tsoReconnectionDelayInSecs = omidConf.getReconnectionDelayInSecs();
LOG.info("Connecting to TSO...");
HostAndPort hp;
switch (omidConf.getConnectionType()) {
case HA:
zkClient = ZKUtils.initZKClient(omidConf.getConnectionString(),
omidConf.getZkNamespace(),
omidConf.getZkConnectionTimeoutInSecs());
zkCurrentTsoPath = omidConf.getZkCurrentTsoPath();
configureCurrentTSOServerZNodeCache(zkCurrentTsoPath);
String tsoInfo = getCurrentTSOInfoFoundInZK(zkCurrentTsoPath);
// TSO info includes the new TSO host:port address and epoch
String[] currentTSOAndEpochArray = tsoInfo.split("#");
hp = HostAndPort.fromString(currentTSOAndEpochArray[0]);
setTSOAddress(hp.getHostText(), hp.getPort());
epoch = Long.parseLong(currentTSOAndEpochArray[1]);
LOG.info("\t* Current TSO host:port found in ZK: {} Epoch {}", hp, getEpoch());
break;
case DIRECT:
default:
hp = HostAndPort.fromString(omidConf.getConnectionString());
setTSOAddress(hp.getHostText(), hp.getPort());
LOG.info("\t* TSO host:port {} will be connected directly", hp);
break;
}
fsmExecutor = Executors.newSingleThreadScheduledExecutor(
new ThreadFactoryBuilder().setNameFormat("tsofsm-%d").build());
fsm = new StateMachine.FsmImpl(fsmExecutor);
fsm.setInitState(new DisconnectedState(fsm));
ChannelPipeline pipeline = bootstrap.getPipeline();
pipeline.addLast("lengthbaseddecoder", new LengthFieldBasedFrameDecoder(8 * 1024, 0, 4, 0, 4));
pipeline.addLast("lengthprepender", new LengthFieldPrepender(4));
pipeline.addLast("protobufdecoder", new ProtobufDecoder(TSOProto.Response.getDefaultInstance()));
pipeline.addLast("protobufencoder", new ProtobufEncoder());
pipeline.addLast("handler", new Handler(fsm));
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("keepAlive", true);
bootstrap.setOption("reuseAddress", true);
bootstrap.setOption("connectTimeoutMillis", 100);
this.tableIDs = new HashSet<Long>();
conflictDetectionLevel = omidConf.getConflictAnalysisLevel();
rowLevelWriteSet = new HashSet<Long>();
}