java.nio.channels.Selector.isOpen()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(186)

本文整理了Java中java.nio.channels.Selector.isOpen()方法的一些代码示例,展示了Selector.isOpen()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Selector.isOpen()方法的具体详情如下:
包路径:java.nio.channels.Selector
类名称:Selector
方法名:isOpen

Selector.isOpen介绍

[英]Indicates whether this selector is open.
[中]

代码示例

代码示例来源:origin: netty/netty

  1. @Override
  2. public boolean isOpen() {
  3. return delegate.isOpen();
  4. }

代码示例来源:origin: redisson/redisson

  1. @Override
  2. public boolean isOpen() {
  3. return delegate.isOpen();
  4. }

代码示例来源:origin: wildfly/wildfly

  1. @Override
  2. public boolean isOpen() {
  3. return delegate.isOpen();
  4. }

代码示例来源:origin: wildfly/wildfly

  1. public boolean selectorOpen() {return selector != null && selector.isOpen();}
  2. public boolean acceptorRunning() {return acceptor != null && acceptor.isAlive();}

代码示例来源:origin: apache/activemq

  1. public int available() throws IOException {
  2. if (!rs.isOpen())
  3. throw new IOException("Input Stream Closed");
  4. return bb.remaining();
  5. }

代码示例来源:origin: apache/ignite

  1. /**
  2. * Quietly closes given resource ignoring possible checked exception.
  3. *
  4. * @param rsrc Resource to close. If it's {@code null} - it's no-op.
  5. */
  6. public static void closeQuiet(@Nullable Selector rsrc) {
  7. if (rsrc != null)
  8. try {
  9. if (rsrc.isOpen())
  10. rsrc.close();
  11. }
  12. catch (IOException ignored) {
  13. // No-op.
  14. }
  15. }

代码示例来源:origin: apache/geode

  1. public boolean isShutdownProperly() {
  2. return !isRunning() && !thread.isAlive()
  3. && (selectorThread == null || !selectorThread.isAlive())
  4. && (pool == null || pool.isShutdown()) && (hsPool == null || hsPool.isShutdown())
  5. && (clientQueueInitPool == null || clientQueueInitPool.isShutdown())
  6. && (selector == null || !selector.isOpen()) && (tmpSel == null || !tmpSel.isOpen());
  7. }

代码示例来源:origin: apache/activemq

  1. public void close() throws IOException {
  2. if (rs.isOpen()) {
  3. rs.close();
  4. if (sc.isOpen()) {
  5. sc.socket().shutdownInput();
  6. sc.socket().close();
  7. }
  8. bb = null;
  9. sc = null;
  10. }
  11. }

代码示例来源:origin: apache/geode

  1. /**
  2. * wake up the selector thread
  3. */
  4. private void wakeupSelector() {
  5. Selector s = getSelector();
  6. if (s != null && s.isOpen()) {
  7. this.selector.wakeup();
  8. }
  9. }

代码示例来源:origin: apache/ignite

  1. /**
  2. * Closes given resource logging possible checked exception.
  3. *
  4. * @param rsrc Resource to close. If it's {@code null} - it's no-op.
  5. * @param log Logger to log possible checked exception with (optional).
  6. */
  7. public static void close(@Nullable Selector rsrc, @Nullable IgniteLogger log) {
  8. if (rsrc != null)
  9. try {
  10. if (rsrc.isOpen())
  11. rsrc.close();
  12. }
  13. catch (IOException e) {
  14. warn(log, "Failed to close resource: " + e.getMessage());
  15. }
  16. }

代码示例来源:origin: apache/activemq

  1. public int read() throws IOException {
  2. if (!rs.isOpen())
  3. throw new IOException("Input Stream Closed");
  4. if (!bb.hasRemaining()) {
  5. try {
  6. fill(1);
  7. } catch (ClosedChannelException e) {
  8. close();
  9. return -1;
  10. }
  11. }
  12. return (bb.get() & 0xFF);
  13. }

代码示例来源:origin: apache/activemq

  1. public int read(byte[] b, int off, int len) throws IOException {
  2. int bytesCopied = -1;
  3. if (!rs.isOpen())
  4. throw new IOException("Input Stream Closed");
  5. while (bytesCopied == -1) {
  6. if (bb.hasRemaining()) {
  7. bytesCopied = (len < bb.remaining() ? len : bb.remaining());
  8. bb.get(b, off, bytesCopied);
  9. } else {
  10. try {
  11. fill(1);
  12. } catch (ClosedChannelException e) {
  13. close();
  14. return -1;
  15. }
  16. }
  17. }
  18. return bytesCopied;
  19. }

代码示例来源:origin: oldmanpushcart/greys-anatomy

  1. @Override
  2. public void run() {
  3. while (!isInterrupted()
  4. && isBind()) {
  5. try {
  6. while (selector.isOpen()
  7. && selector.select() > 0) {
  8. final Iterator<SelectionKey> it = selector.selectedKeys().iterator();
  9. while (it.hasNext()) {
  10. final SelectionKey key = it.next();
  11. it.remove();
  12. // do ssc accept
  13. if (key.isValid() && key.isAcceptable()) {
  14. doAccept(key, selector, configure);
  15. }
  16. // do sc read
  17. if (key.isValid() && key.isReadable()) {
  18. doRead(byteBuffer, key);
  19. }
  20. }
  21. }
  22. } catch (IOException e) {
  23. logger.warn("selector failed.", e);
  24. } catch (ClosedSelectorException e) {
  25. logger.debug("selector closed.", e);
  26. }
  27. }
  28. }
  29. };

代码示例来源:origin: apache/nifi

  1. private synchronized void close() {
  2. if (selector != null && selector.isOpen()) {
  3. try {
  4. selector.close();
  5. } catch (final Exception e) {
  6. logger.warn("Failed to close NIO Selector", e);
  7. }
  8. }
  9. if (channel != null && channel.isOpen()) {
  10. try {
  11. channel.close();
  12. } catch (final Exception e) {
  13. logger.warn("Failed to close Socket Channel to {} for Load Balancing", nodeIdentifier, e);
  14. }
  15. }
  16. channel = null;
  17. selector = null;
  18. }

代码示例来源:origin: apache/nifi

  1. if (this.isRunning.compareAndSet(true, false)) {
  2. try {
  3. if (this.selector != null && this.selector.isOpen()) { // since stop must be idempotent, we need to check if selector is open to avoid ClosedSelectorException
  4. Set<SelectionKey> selectionKeys = new HashSet<>(this.selector.keys());
  5. for (SelectionKey key : selectionKeys) {

代码示例来源:origin: apache/activemq

  1. public long skip(long n) throws IOException {
  2. long skiped = 0;
  3. if (!rs.isOpen())
  4. throw new IOException("Input Stream Closed");
  5. while (n > 0) {
  6. if (n <= bb.remaining()) {
  7. skiped += n;
  8. bb.position(bb.position() + (int) n);
  9. n = 0;
  10. } else {
  11. skiped += bb.remaining();
  12. n -= bb.remaining();
  13. bb.position(bb.limit());
  14. try {
  15. fill((int) n);
  16. } catch (ClosedChannelException e) {
  17. close();
  18. return skiped;
  19. }
  20. }
  21. }
  22. return skiped;
  23. }

代码示例来源:origin: apache/nifi

  1. /**
  2. * Once the handler is constructed this should be called to start the handler. Although
  3. * this method is safe to be called by multiple threads, it should only be called once.
  4. *
  5. * @throws IllegalStateException if it fails to start listening on the port that is configured
  6. *
  7. */
  8. public void start() {
  9. if (this.isRunning.compareAndSet(false, true)) {
  10. try {
  11. if (this.selector == null || !this.selector.isOpen()) {
  12. this.selector = Selector.open();
  13. InetSocketAddress connectedAddress = this.connect();
  14. this.listenerTaskExecutor = Executors.newCachedThreadPool();
  15. this.listenerTaskExecutor.execute(this.listenerTask);
  16. if (logger.isDebugEnabled()) {
  17. logger.debug("Started listener for " + AbstractSocketHandler.this.getClass().getSimpleName());
  18. }
  19. if (logger.isInfoEnabled()) {
  20. logger.info("Successfully bound to " + connectedAddress);
  21. }
  22. }
  23. } catch (Exception e) {
  24. this.stop();
  25. throw new IllegalStateException("Failed to start " + this.getClass().getName(), e);
  26. }
  27. }
  28. }

代码示例来源:origin: apache/nifi

  1. @Override
  2. public void run() {
  3. try {
  4. while (AbstractSocketHandler.this.rootChannel != null && AbstractSocketHandler.this.rootChannel.isOpen() && AbstractSocketHandler.this.selector.isOpen()) {
  5. if (AbstractSocketHandler.this.selector.isOpen() && AbstractSocketHandler.this.selector.select(10) > 0) {
  6. Iterator<SelectionKey> keys = AbstractSocketHandler.this.selector.selectedKeys().iterator();
  7. while (keys.hasNext()) {
  8. SelectionKey selectionKey = keys.next();
  9. keys.remove();
  10. if (selectionKey.isValid()) {
  11. if (selectionKey.isAcceptable()) {
  12. this.accept(selectionKey);
  13. } else if (selectionKey.isReadable()) {
  14. this.read(selectionKey);
  15. } else if (selectionKey.isConnectable()) {
  16. this.connect(selectionKey);
  17. }
  18. }
  19. }
  20. }
  21. }
  22. } catch (Exception e) {
  23. logger.error("Exception in socket listener loop", e);
  24. }
  25. logger.debug("Exited Listener loop.");
  26. AbstractSocketHandler.this.stop();
  27. }

代码示例来源:origin: rapidoid/rapidoid

  1. @Override
  2. public synchronized Server shutdown() {
  3. Log.info("Shutting down the server...");
  4. stopLoop();
  5. if (ioWorkers != null) {
  6. for (RapidoidWorker worker : ioWorkers) {
  7. worker.shutdown();
  8. }
  9. }
  10. if (serverSocketChannel != null && selector != null && serverSocketChannel.isOpen() && selector.isOpen()) {
  11. try {
  12. selector.close();
  13. serverSocketChannel.close();
  14. } catch (IOException e) {
  15. Log.warn("Cannot close socket or selector!", e);
  16. }
  17. }
  18. super.shutdown();
  19. Log.info("!The server is down.");
  20. return this;
  21. }

代码示例来源:origin: rapidoid/rapidoid

  1. private void openSocket() throws IOException {
  2. U.notNull(net.protocol(), "protocol");
  3. U.notNull(net.helperClass(), "helperClass");
  4. String blockingInfo = net.blockingAccept() ? "blocking" : "non-blocking";
  5. Log.debug("Initializing server", "address", net.address(), "port", net.port(), "sync", net.syncBufs(), "accept", blockingInfo);
  6. serverSocketChannel = ServerSocketChannel.open();
  7. if ((serverSocketChannel.isOpen()) && (selector.isOpen())) {
  8. serverSocketChannel.configureBlocking(net.blockingAccept());
  9. ServerSocket socket = serverSocketChannel.socket();
  10. Log.info("!Starting server", "!address", net.address(), "!port", net.port(), "I/O workers", net.workers(), "sync", net.syncBufs(), "accept", blockingInfo);
  11. InetSocketAddress addr = new InetSocketAddress(net.address(), net.port());
  12. socket.setReceiveBufferSize(16 * 1024);
  13. socket.setReuseAddress(true);
  14. socket.bind(addr, MAX_PENDING_CONNECTIONS);
  15. Log.debug("Opened server socket", "address", addr);
  16. if (!net.blockingAccept()) {
  17. Log.debug("Registering accept selector");
  18. serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);
  19. }
  20. initWorkers();
  21. } else {
  22. throw U.rte("Cannot open socket!");
  23. }
  24. }

相关文章