本文整理汇总了Java中org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp方法的典型用法代码示例。如果您正苦于以下问题:Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp方法的具体用法?Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp怎么用?Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.cassandra.config.DatabaseDescriptor
的用法示例。
在下文中一共展示了DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initChannel
import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
protected void initChannel(Channel channel) throws Exception
{
ChannelPipeline pipeline = channel.pipeline();
// Add the ConnectionLimitHandler to the pipeline if configured to do so.
if (DatabaseDescriptor.getNativeTransportMaxConcurrentConnections() > 0
|| DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp() > 0)
{
// Add as first to the pipeline so the limit is enforced as first action.
pipeline.addFirst("connectionLimitHandler", connectionLimitHandler);
}
//pipeline.addLast("debug", new LoggingHandler());
pipeline.addLast("frameDecoder", new Frame.Decoder(server.connectionFactory));
pipeline.addLast("frameEncoder", frameEncoder);
pipeline.addLast("frameDecompressor", frameDecompressor);
pipeline.addLast("frameCompressor", frameCompressor);
pipeline.addLast("messageDecoder", messageDecoder);
pipeline.addLast("messageEncoder", messageEncoder);
pipeline.addLast(server.eventExecutorGroup, "executor", dispatcher);
}
示例2: initChannel
import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
protected void initChannel(Channel channel) throws Exception
{
ChannelPipeline pipeline = channel.pipeline();
// Add the ConnectionLimitHandler to the pipeline if configured to do so.
if (DatabaseDescriptor.getNativeTransportMaxConcurrentConnections() > 0
|| DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp() > 0)
{
// Add as first to the pipeline so the limit is enforced as first action.
pipeline.addFirst("connectionLimitHandler", connectionLimitHandler);
}
//pipeline.addLast("debug", new LoggingHandler());
pipeline.addLast("frameDecoder", new Frame.Decoder(server.connectionFactory));
pipeline.addLast("frameEncoder", frameEncoder);
pipeline.addLast("frameDecompressor", frameDecompressor);
pipeline.addLast("frameCompressor", frameCompressor);
pipeline.addLast("messageDecoder", messageDecoder);
pipeline.addLast("messageEncoder", messageEncoder);
if (server.eventExecutorGroup != null)
pipeline.addLast(server.eventExecutorGroup, "executor", dispatcher);
else
pipeline.addLast("executor", dispatcher);
}
示例3: channelActive
import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception
{
final long count = counter.incrementAndGet();
long limit = DatabaseDescriptor.getNativeTransportMaxConcurrentConnections();
// Setting the limit to -1 disables it.
if(limit < 0)
{
limit = Long.MAX_VALUE;
}
if (count > limit)
{
// The decrement will be done in channelClosed(...)
logger.warn("Exceeded maximum native connection limit of {} by using {} connections", limit, count);
ctx.close();
}
else
{
long perIpLimit = DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp();
if (perIpLimit > 0)
{
InetAddress address = ((InetSocketAddress) ctx.channel().remoteAddress()).getAddress();
AtomicLong perIpCount = connectionsPerClient.get(address);
if (perIpCount == null)
{
perIpCount = new AtomicLong(0);
AtomicLong old = connectionsPerClient.putIfAbsent(address, perIpCount);
if (old != null)
{
perIpCount = old;
}
}
if (perIpCount.incrementAndGet() > perIpLimit)
{
// The decrement will be done in channelClosed(...)
logger.warn("Exceeded maximum native connection limit per ip of {} by using {} connections", perIpLimit, perIpCount);
ctx.close();
return;
}
}
ctx.fireChannelActive();
}
}
示例4: getNativeTransportMaxConcurrentConnectionsPerIp
import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
public Long getNativeTransportMaxConcurrentConnectionsPerIp() { return DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp(); }