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


Java ThreadRenamingRunnable类代码示例

本文整理汇总了Java中org.jboss.netty.util.ThreadRenamingRunnable的典型用法代码示例。如果您正苦于以下问题:Java ThreadRenamingRunnable类的具体用法?Java ThreadRenamingRunnable怎么用?Java ThreadRenamingRunnable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ThreadRenamingRunnable类属于org.jboss.netty.util包,在下文中一共展示了ThreadRenamingRunnable类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: start

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
public boolean start() throws IOException {
	hostname = configuration.getServerHostname();
	InetSocketAddress address;

	if (StringUtils.isNotBlank(hostname)) {
		LOGGER.info("Using forced address " + hostname);
		InetAddress tempIA = InetAddress.getByName(hostname);

		if (tempIA != null && networkInterface != null && networkInterface.equals(NetworkInterface.getByInetAddress(tempIA))) {
			address = new InetSocketAddress(tempIA, port);
		} else {
			address = new InetSocketAddress(hostname, port);
		}
	} else if (isAddressFromInterfaceFound(configuration.getNetworkInterface())) { // XXX sets iafinal and networkInterface
		LOGGER.info("Using address {} found on network interface: {}", iafinal, networkInterface.toString().trim().replace('\n', ' '));
		address = new InetSocketAddress(iafinal, port);
	} else {
		LOGGER.info("Using localhost address");
		address = new InetSocketAddress(port);
	}

	LOGGER.info("Created socket: {}", address);

	if (configuration.isHTTPEngineV2()) { // HTTP Engine V2
		ThreadRenamingRunnable.setThreadNameDeterminer(ThreadNameDeterminer.CURRENT);
		group = new DefaultChannelGroup("HTTPServer");
		factory = new NioServerSocketChannelFactory(
			Executors.newCachedThreadPool(new NettyBossThreadFactory()),
			Executors.newCachedThreadPool(new NettyWorkerThreadFactory())
		);

		ServerBootstrap bootstrap = new ServerBootstrap(factory);
		HttpServerPipelineFactory pipeline = new HttpServerPipelineFactory(group);
		bootstrap.setPipelineFactory(pipeline);
		bootstrap.setOption("child.tcpNoDelay", true);
		bootstrap.setOption("child.keepAlive", true);
		bootstrap.setOption("reuseAddress", true);
		bootstrap.setOption("child.reuseAddress", true);
		bootstrap.setOption("child.sendBufferSize", 65536);
		bootstrap.setOption("child.receiveBufferSize", 65536);

		try {
			channel = bootstrap.bind(address);

			group.add(channel);
		} catch (Exception e) {
			LOGGER.error("Another program is using port " + port + ", which DMS needs.");
			LOGGER.error("You can change the port DMS uses on the General Configuration tab.");
			LOGGER.trace("The error was: " + e);
			PMS.get().getFrame().setConnectionState(ConnectionState.BLOCKED);
		}

		if (hostname == null && iafinal != null) {
			hostname = iafinal.getHostAddress();
		} else if (hostname == null) {
			hostname = InetAddress.getLocalHost().getHostAddress();
		}
	} else { // HTTP Engine V1
		serverSocketChannel = ServerSocketChannel.open();

		serverSocket = serverSocketChannel.socket();
		serverSocket.setReuseAddress(true);
		serverSocket.bind(address);

		if (hostname == null && iafinal != null) {
			hostname = iafinal.getHostAddress();
		} else if (hostname == null) {
			hostname = InetAddress.getLocalHost().getHostAddress();
		}

		runnable = new Thread(this, "HTTPv1 Request Handler");
		runnable.setDaemon(false);
		runnable.start();
	}

	return true;
}
 
开发者ID:DigitalMediaServer,项目名称:DigitalMediaServer,代码行数:78,代码来源:HTTPServer.java

示例2: newThreadRenamingRunnable

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
@Override
protected ThreadRenamingRunnable newThreadRenamingRunnable(int id, ThreadNameDeterminer determiner) {
    return new ThreadRenamingRunnable(this, "New I/O boss #" + id, determiner);
}
 
开发者ID:nyankosama,项目名称:simple-netty-source,代码行数:5,代码来源:NioClientBoss.java

示例3: newThreadRenamingRunnable

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
@Override
protected ThreadRenamingRunnable newThreadRenamingRunnable(int id, ThreadNameDeterminer determiner) {
    return new ThreadRenamingRunnable(this,
            "New I/O server boss #" + id, determiner);
}
 
开发者ID:nyankosama,项目名称:simple-netty-source,代码行数:6,代码来源:NioServerBoss.java

示例4: newThreadRenamingRunnable

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
@Override
protected ThreadRenamingRunnable newThreadRenamingRunnable(int id, ThreadNameDeterminer determiner) {
    return new ThreadRenamingRunnable(this, "New I/O worker #" + id, determiner);
}
 
开发者ID:nyankosama,项目名称:simple-netty-source,代码行数:5,代码来源:AbstractNioWorker.java

示例5: connect

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
private void connect(IsdnClientChannel channel, ChannelFuture future, IsdnSocketAddress calledAddress) {

        boolean workerStarted = false;

        channel.setCalledAddress(calledAddress);
        future.addListener(ChannelFutureListener.CLOSE_ON_FAILURE);

        try {

            int port = IsdnWorker.register(channel);
//            channel.connected = true;

            // fire events
            boolean bound = channel.isBound();
            if (!bound) {
                fireChannelBound(channel, channel.getLocalAddress());
            }

            fireChannelConnected(channel, channel.getRemoteAddress());

            // start IsdnWorker handle CAPI operations
            channel.setWorker(new IsdnWorker(channel, port));
            DeadLockProofWorker.start(
            		workerExecutor,
                    new ThreadRenamingRunnable(
                            channel.worker(),
                            String.format("CLIENT IsdnWorker(appId 0x%04X): id %s, %s => %s",
                                    port,
                                    channel.getId(),
                                    channel.getLocalAddress(),
                                    channel.getRemoteAddress())));

            workerStarted = true;


        } catch (Throwable t) {
            future.setFailure(t);
            fireExceptionCaught(channel, t);
        } finally {
            if (channel.isConnected() && !workerStarted) {
                IsdnWorker.close(channel, succeededFuture(channel));
            }
        }

    }
 
开发者ID:rmarins,项目名称:netty-isdn-transport,代码行数:46,代码来源:IsdnClientPipelineSink.java

示例6: bind

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
private void bind(IsdnServerChannel channel, ChannelFuture future, IsdnSocketAddress localAddress) {

        logger.trace("bind()");

        boolean bound = false;
        boolean bossStarted = false;

        try {

            // CAPI application registering & setup listening
            int appId = IsdnWorker.register(channel);
            channel.setWorker(new IsdnWorker(channel, appId));
            boolean listening = IsdnWorker.listen(channel, future);
            bound = true;

            if (!listening) {
                // somehow LISTEN failed without raising an error
                future.setFailure(new CapiException(EXCHANGE_RESOURCE_ERROR, "LISTEN failed."));
            }

            /*
             * Indicate the success as BIND_REQUESTED event is almost complete,
             * and send upstream CHANNEL_CONNECTED event.
             */
            channel.setAppID(appId);
            channel.setCalledAddress(localAddress);
            channel.bound = true;
            future.setSuccess();
            fireChannelBound(channel, localAddress);

            Executor bossExecutor = ((IsdnServerChannelFactory) channel.getFactory()).bossExecutor();
            DeadLockProofWorker.start(
            		bossExecutor,
                    new ThreadRenamingRunnable(
		                    new Boss(channel, appId),
		                    format("Isdn server boss (channelId: %d, %s)",
		                            channel.getId(),
		                            localAddress)));

            bossStarted = true;

        } catch (Throwable t) {
            future.setFailure(t);
            fireExceptionCaught(channel, t);
        } finally {
            if (!bossStarted && bound) {
                // close(channel, future);
            }
        }

    }
 
开发者ID:rmarins,项目名称:netty-isdn-transport,代码行数:52,代码来源:IsdnServerPipelineSink.java

示例7: newThreadRenamingRunnable

import org.jboss.netty.util.ThreadRenamingRunnable; //导入依赖的package包/类
protected abstract ThreadRenamingRunnable newThreadRenamingRunnable(int id, ThreadNameDeterminer determiner); 
开发者ID:nyankosama,项目名称:simple-netty-source,代码行数:2,代码来源:AbstractNioSelector.java


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