ヘッダーをスキップ
Oracle® Complex Event Processing管理者ガイド
11g リリース1(11.1.1.4.0)
B61653-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

9 Oracle CEP用のネットワークI/Oの構成

この章の内容は次のとおりです。

9.1 Oracle CEPにおけるネットワークI/Oの概要

Oracle CEPは、サーバー・モードおよびクライアント・モードの両方で様々なプロバイダを使用して、Transmission Control Protocol/Internet Protocol (TCP/IP)を介してネットワーク入力/出力(I/O)をサポートします。

Secure Socket Layer (SSL)と非SSLネットワーク・アクセスの両方のネットワークI/Oを定義できます。

Oracle CEPは、IPv4とIPv6の両方をサポートします。

次のOracle CEPサービスは、次のネットワークI/O構成に依存します。

詳細については、次を参照してください。

9.1.1 ネットワークI/Oプロバイダ

表9-1は、Oracle CEPがサポートするネットワークI/Oプロバイダのリストです。

表9-1 Oracle CEPネットワークI/Oプロバイダ

provider-type SSL? 説明

non-blocking

いいえ

非ブロック・プロバイダは、読取りと書込みに対して完全な非ブロックI/Oを提供します。つまり、Connectionインタフェース上の読取りまたは書込みへの各呼出しは、ブロックされずただちに返されます。基礎となる接続の準備が整っていない場合、読取りまたは書込みの呼出しはゼロのみを返します。その時点で、呼出し側のコードはNetIO APIの通知メカニズムのいずれかを使用して、接続の読取りまたは書込みの準備が整うまで待機する必要があります。また、非ブロック・プロバイダは、非ブロック接続呼出しもサポートできます。つまり、リモート・サーバーへの接続を確立するのに時間がかかる(または確立に失敗する)場合、スレッドはブロックする必要がないということになります。

プロバイダ・クラス: com.bea.core.netio.provider.noblock.NIOEngine

semi-blocking

いいえ

セミブロック・プロバイダは、読取りの呼出しに対しては非ブロックI/Oを提供しますが、各書込み呼出しはデータがTCP/IPスタックに渡されるまでにブロックされます。一部のプラットフォームは、完全な非ブロック・プロバイダに比べて高速な書込みブロック・プロバイダを実装できるようにするメカニズムを提供します。

プロバイダ・クラス:

  • JRockitを搭載したLinux: com.bea.core.netio.provider.jrockit.JRockitEngine

  • Windows: com.bea.core.netio.provider.nativeasync.NativeAsyncEngine

blocking

いいえ

ブロック・プロバイダは、それぞれの読取りおよび書込みの呼出しが完了するまでそれらをブロックします。読取り準備が可能なデータがない場合、読取りはデータが存在するまでブロックされます。このタイプのプロバイダは、データを持つ各ネットワーク接続を待機するスレッドが存在する必要があるため、拡張性が低くなっています。通常はこのタイプのプロバイダを使用しないことをお薦めします。

プロバイダ・クラス: com.bea.core.netio.provider.block.BlockingEngine.

native

いいえ

NativeAsyncEngineが試行されます。サポートされない場合、エラーが発生します。

NIO脚注 1 

はい

NIOEngineが常に使用されます。


脚注 1 デフォルトprovider-type.

例9-1は、provider-type子要素を使用して、Oracle CEPサーバーのconfig.xmlファイルのnetio要素でプロバイダを指定する方法を示します。

例9-1 provider-typeが定義されたOracle CEP netio要素

<netio>
    <name>myNetio</name>
    <port>12345</port>
    <provider-type>non-blocking</provider-type>
</netio>

9.1.2 IPv4およびIPv6のサポート

Oracle CEPサーバーは、IPv4 単独またはIPv4/IPv6デュアル・スタックで使用するための認証を受けています。

Oracle CEPはIPv6をサポートしていません。

IPv6の詳細は、RFC 2460: Internet Protocol, Version 6 (IPv6)の仕様(http://www.ietf.org/rfc/rfc2460.txt)を参照してください。

9.2 ネットワークI/Oサーバー(netio)の構成

サーバーとして機能し、受信接続をリスニングするために他のサービスによって使用されるネットワークI/Oサービスを定義できます。

あるいは、9.3項「ネットワークI/Oクライアント(netio-client)の構成」で説明されるように、クライアントのネットワークI/Oサービスを作成できます。

9.2.1 ネットワークI/Oサーバーを構成する方法

Oracle CEPサーバーのconfig.xmlファイルのnetio要素を使用して、ネットワークI/Oサーバー・サービスを構成します。

詳細については、次を参照してください。

ネットワークI/Oサーバーを構成するには、次の手順を実行します。 

  1. Oracle CEPサーバーのconfig.xmlファイルで、例9-2で示すように、netio要素を作成します。

    例9-2 Oracle CEP netio要素

    <netio>
    </netio>
    
  2. 例9-3で示すように、このOracle CEPサーバーでこのnetio要素を一意で識別するname要素を追加します。

    例9-3 name要素を持つOracle CEP netio要素

    <netio>
        <name>MyNetIO</name>
    </netio>
    
  3. port要素を追加し、例9-4で示すように、このnetioサービスが接続リクエストをリスニングする元となるTCP/IPポートを定義します。

    例9-4 port要素を持つOracle CEP netio要素

    <netio>
        <name>MyNetIO</name>
        <port>9002</port>
    </netio>
    
  4. オプションで、例9-5で示すように、provider-typeを指定します。

    例9-5 port要素を持つOracle CEP netio要素

    <netio>
        <name>MyNetIO</name>
        <port>9002</port>
        <provider-type>NIO</provider-type>
    </netio>
    

    詳細は、9.1.1項「ネットワークI/Oプロバイダ」を参照してください。

  5. オプションで、他のnetio子要素を指定します。

    詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のnetioに関する項を参照してください。

9.3 ネットワークI/Oクライアント(netio-client)の構成

非ブロック・ネットワークI/Oの実行に使用できるネットワークI/Oサービスを定義できます。ただし、サーバーとしては機能せず、受信接続もリスニングしません。

あるいは、9.2項「ネットワークI/Oサーバー(netio)の構成」で説明されるように、サーバーのネットワークI/Oサービスを作成できます。

9.3.1 ネットワークI/Oクライアントを構成する方法

Oracle CEPサーバーのconfig.xmlファイルのnetio-client要素を使用して、ネットワークI/Oクライアント・サービスを構成します。

詳細については、次を参照してください。

ネットワークI/Oクライアントを構成するには、次の手順を実行します。

  1. Oracle CEPサーバーのconfig.xmlファイルで、例9-2で示すように、netio-client要素を作成します。

    例9-6 Oracle CEP netio-client要素

    <netio-client>
    </netio-client>
    
  2. 例9-3で示すように、このOracle CEPサーバーでこのnetio要素を一意で識別するname要素を追加します。

    例9-7 name要素を持つOracle CEP netio-client要素

    <netio-client>
        <name>MyNetIOClient</name>
    </netio-client>
    
  3. オプションで、例9-5で示すように、provider-typeを指定します。

    例9-8 port要素を持つOracle CEP netio-client要素

    <netio-client>
        <name>MyNetIOClient</name>
        <provider-type>NIO</provider-type>
    </netio-client>
    

    詳細は、9.1.1項「ネットワークI/Oプロバイダ」を参照してください。

  4. オプションで、他のnetio-client子要素を指定します。

    詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のnetio-clientに関する項を参照してください。