java.lang.Object
java.nio.channels.spi.AsynchronousChannelProvider
public abstract class AsynchronousChannelProvider extends Object
非同期チャネルのサービス・プロバイダ・クラスです。
非同期チャネル・プロバイダは、ゼロ引数コンストラクタを持ち、次の抽象メソッドを実装する、このクラスの具象サブクラスです。 指定されたJava仮想マシン呼出しは、provider
メソッドによって返される、システム全体で単一のデフォルト・プロバイダ・インスタンスを保持します。 このメソッドの最初の呼出しは、次のデフォルト・プロバイダを検出します。
このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。
- 導入されたバージョン:
- 1.7
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract AsynchronousChannelGroup
openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory)
固定されたスレッド・プールで新しい非同期チャネル・グループを構築します。abstract AsynchronousChannelGroup
openAsynchronousChannelGroup(ExecutorService executor, int initialSize)
指定されたスレッド・プールで新しい非同期チャネル・グループを構築します。abstract AsynchronousServerSocketChannel
非同期のサーバー・ソケット・チャネルを開きます。abstract AsynchronousSocketChannel
非同期のソケット・チャネルを開きます。static AsynchronousChannelProvider
provider()
このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。
-
コンストラクタの詳細
-
AsynchronousChannelProvider
protected AsynchronousChannelProvider()このクラスの新しいインスタンスを初期化します。- 例外:
SecurityException
- セキュリティ・マネージャがインストールされており、それがRuntimePermission
("asynchronousChannelProvider")
を拒否した場合
-
-
メソッドの詳細
-
provider
public static AsynchronousChannelProvider provider()このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。このメソッドを最初に呼び出したとき、次の手順でデフォルト・プロバイダ・オブジェクトが検出されます。
システム・プロパティ
java.nio.channels.spi.AsynchronousChannelProvider
が定義されている場合、具象プロバイダ・クラスの完全修飾名になります。 その後、クラスがロードされ、インスタンスが作成されます。システム・クラス・ローダーの認識するjarファイルにプロバイダ・クラスがインストールされていて、このjarファイルにリソース・ディレクトリ
META-INF/services
内のプロバイダ構成ファイルjava.nio.channels.spi.AsynchronousChannelProvider
が含まれている場合、そのファイルに指定されている最初のクラス名が使用されます。 その後、クラスがロードされ、インスタンスが作成されます。最後に、上記の手段で指定されたプロバイダが存在しない場合は、システムのデフォルト・プロバイダ・クラスのインスタンスが作成され、結果が返されます。
次回以降の呼出しでも、1回目の呼出し時に返されたプロバイダが返されます。
- 戻り値:
- システム全体のデフォルトのAsynchronousChannelプロバイダ
-
openAsynchronousChannelGroup
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory) throws IOException固定されたスレッド・プールで新しい非同期チャネル・グループを構築します。- パラメータ:
nThreads
- プール内のスレッド数threadFactory
- 新規スレッドの作成時に使用するファクトリ- 戻り値:
- 新しい非同期チャネル・グループ
- 例外:
IllegalArgumentException
-nThreads <= 0
の場合:IOException
- 入出力エラーが発生した場合- 関連項目:
AsynchronousChannelGroup.withFixedThreadPool(int, java.util.concurrent.ThreadFactory)
-
openAsynchronousChannelGroup
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(ExecutorService executor, int initialSize) throws IOException指定されたスレッド・プールで新しい非同期チャネル・グループを構築します。- パラメータ:
executor
- スレッド・プールinitialSize
->=0
の値、実装固有のデフォルトの場合は負の値- 戻り値:
- 新しい非同期チャネル・グループ
- 例外:
IOException
- 入出力エラーが発生した場合- 関連項目:
AsynchronousChannelGroup.withCachedThreadPool(java.util.concurrent.ExecutorService, int)
-
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
- 入出力エラーが発生した場合
-