当前位置: 首页>>代码示例>>Java>>正文


Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnections方法代码示例

本文整理汇总了Java中org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnections方法的典型用法代码示例。如果您正苦于以下问题:Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnections方法的具体用法?Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnections怎么用?Java DatabaseDescriptor.getNativeTransportMaxConcurrentConnections使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.cassandra.config.DatabaseDescriptor的用法示例。


在下文中一共展示了DatabaseDescriptor.getNativeTransportMaxConcurrentConnections方法的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);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:26,代码来源:Server.java

示例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);
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:29,代码来源:Server.java

示例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();
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:46,代码来源:ConnectionLimitHandler.java

示例4: getNativeTransportMaxConcurrentConnections

import org.apache.cassandra.config.DatabaseDescriptor; //导入方法依赖的package包/类
public Long getNativeTransportMaxConcurrentConnections() { return DatabaseDescriptor.getNativeTransportMaxConcurrentConnections(); } 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:2,代码来源:StorageProxy.java


注:本文中的org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnections方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。