Class LocalPortChecker


  • public class LocalPortChecker
    extends Object
    Utility to check port availability.
    • Constructor Detail

      • LocalPortChecker

        public LocalPortChecker()
    • Method Detail

      • isPortAvailable

        public boolean isPortAvailable​(int port)
        Check port availability. Note specifically that zero is not a valid port for the reasons described here and here.
        Parameters:
        port - the port to check on the local machine
        Returns:
        true if the port is available; false otherwise
        Throws:
        IllegalArgumentException - if port is not valid
      • findFirstOpenPortFrom

        public OptionalInt findFirstOpenPortFrom​(int port)
        Find the first open port starting at the given port inclusive, i.e. if port is 1024 then it is the first port checked. If no available port is found, return an empty OptionalInt.
        Parameters:
        port - the port to start from
        Returns:
        an optional containing the first open port, or an empty optional
        Throws:
        IllegalArgumentException - if port is not between 1 and MAX_PORT
        Implementation Note:
        Since this method looks for availability of a specific port, zero is invalid because it is a reserved port used to indicate a random port and is never bound directly to.
      • findFirstOpenPortAbove

        public OptionalInt findFirstOpenPortAbove​(int port)
        Find the first open port above the given port (i.e. if port is 1024 then the first port to be checked will be 1025). If no available port is found, return an empty OptionalInt.
        Parameters:
        port - the port to check above
        Returns:
        an optional containing the first open port, or an empty optional
        Throws:
        IllegalArgumentException - if port is not between 0 and (MAX_PORT - 1)