モジュール java.base
パッケージ java.nio.channels.spi

クラスAsynchronousChannelProvider



  • public abstract class AsynchronousChannelProvider
    extends Object
    非同期チャネルのサービス・プロバイダ・クラスです。

    非同期チャネル・プロバイダは、ゼロ引数コンストラクタを持ち、次の抽象メソッドを実装する、このクラスの具象サブクラスです。 指定されたJava仮想マシン呼出しは、providerメソッドによって返される、システム全体で単一のデフォルト・プロバイダ・インスタンスを保持します。 このメソッドの最初の呼出しは、次のデフォルト・プロバイダを検出します。

    このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。

    導入されたバージョン:
    1.7
    • コンストラクタの詳細

      • AsynchronousChannelProvider

        protected AsynchronousChannelProvider​()
        このクラスの新しいインスタンスを初期化します。
        例外:
        SecurityException - セキュリティ・マネージャがインストールされており、それがRuntimePermission("asynchronousChannelProvider")を拒否した場合
    • メソッドの詳細

      • provider

        public static AsynchronousChannelProvider provider​()
        このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。

        このメソッドを最初に呼び出したとき、次の手順でデフォルト・プロバイダ・オブジェクトが検出されます。

        1. システム・プロパティjava.nio.channels.spi.AsynchronousChannelProviderが定義されている場合、これが具象プロバイダ・クラスの完全修飾名と見なされます。 その後、クラスがロードされ、インスタンスが作成されます。

        2. システム・クラス・ローダーの認識するjarファイルにプロバイダ・クラスがインストールされていて、このjarファイルにリソース・ディレクトリMETA-INF/services内のプロバイダ構成ファイルjava.nio.channels.spi.AsynchronousChannelProviderが含まれている場合、そのファイルに指定されている最初のクラス名が使用されます。 その後、クラスがロードされ、インスタンスが作成されます。

        3. 最後に、上記の手段で指定されたプロバイダが存在しない場合は、システムのデフォルト・プロバイダ・クラスのインスタンスが作成され、結果が返されます。

        次回以降の呼出しでも、1回目の呼出し時に返されたプロバイダが返されます。

        戻り値:
        システム全体のデフォルトのAsynchronousChannelプロバイダ
      • openAsynchronousServerSocketChannel

        public abstract AsynchronousServerSocketChannel openAsynchronousServerSocketChannel​(AsynchronousChannelGroup group)
                                                                                     throws IOException
        非同期のサーバー・ソケット・チャネルを開きます。
        パラメータ:
        group - チャネルのバインド先のグループ、またはデフォルト・グループにバインドする場合はnull
        戻り値:
        新しいチャネル
        例外:
        IllegalChannelGroupException - グループを作成したプロバイダがこのプロバイダと異なる場合
        ShutdownChannelGroupException - グループがシャットダウンしている場合
        IOException - 入出力エラーが発生した場合
      • openAsynchronousSocketChannel

        public abstract AsynchronousSocketChannel openAsynchronousSocketChannel​(AsynchronousChannelGroup group)
                                                                         throws IOException
        非同期のソケット・チャネルを開きます。
        パラメータ:
        group - チャネルのバインド先のグループ、またはデフォルト・グループにバインドする場合はnull
        戻り値:
        新しいチャネル
        例外:
        IllegalChannelGroupException - グループを作成したプロバイダがこのプロバイダと異なる場合
        ShutdownChannelGroupException - グループがシャットダウンしている場合
        IOException - 入出力エラーが発生した場合