この付録では、POF構成デプロイメント・ディスクリプタのリファレンスと、ディスクリプタの簡単な概要を示します。バイナリ形式の詳細は、付録E「PIF-POFバイナリ形式」を参照してください。
この付録は、次の各項で構成されています。
POF構成デプロイメント・ディスクリプタは、POFを使用してシリアライズおよびデシリアライズされているオブジェクトの非固有の型(ユーザー定義型)を指定するために使用します。POF構成デプロイメント・ディスクリプタの名前と場所はオペレーション・デプロイメント・ディスクリプタで指定され、pof-config.xml
にデフォルト設定されます。サンプルのPOF構成ディスクリプタがcoherence.jar
ライブラリのルートに配置されており、アプリケーションのクラスパス内でcoherence.jar
ファイルより前にカスタムのpof-config.xml
ファイルが検出されないかぎり、これが使用されます。すべてのクラスタ・メンバーで使用するPOF構成デプロイメント・ディスクリプタを統一してください。
POF構成デプロイメント・ディスクリプタ・スキーマは、coherence-pof-config.xsd
ファイルで定義します。このXSDファイルは、coherence.jar
ライブラリのルートおよび次のWeb URLにあります。
http://xmlns.oracle.com/coherence/coherence-pof-config/1.0/coherence-pof-config.xsd
<pof-config>
要素はPOF構成デプロイメント・ディスクリプタのルート要素であり、通常はXSDおよびCoherenceネームスペース・リファレンスと、coherence-pof-config.xsd
ファイルの場所が含まれます。例:
<?xml version='1.0'?> <pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config coherence-pof-config.xsd">
注意:
|
Coherenceに固有のユーザー定義型は、同じくcoherence.jar
ライブラリのルートにあるcoherence-pof-config.xml
ファイルで定義します。pof-config.xml
ファイルを作成するときは、このファイルを次のように参照する必要があります。
<?xml version='1.0'?> <pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config coherence-pof-config.xsd"> <user-type-list> <include>coherence-pof-config.xml</include> </user-type-list> ... </pof-config>
表D-1は、POF構成デプロイメント・ディスクリプタのすべての非終端要素を示しています。
使用場所: <pof-config
>
説明
この要素は、pof-config
要素内で定義されるすべてのユーザー定義型のシリアライズおよびデシリアライズの際に使用するPofSerializer
を指定します。シリアライザがuser-type
内に指定されている場合、そのユーザー定義型にはデフォルトのシリアライザのかわりにそのシリアライザが使用されます。
default-serializer要素を省略すると、特定のユーザー定義型に対して定義されたシリアライザが使用されます。そのユーザー定義型のserializer要素も省略すると、ユーザー定義型によってPortableObject
インタフェースが実装され、PortableObjectSerializer
実装がPofSerializer
として使用されることになります。
default-serializer要素からinit-params
要素を省略した場合は、そのPofSerializer
実装に対して次の4つのコンストラクタが、ここに示された順序で試行されます。
(int nTypeId, Class clz, ClassLoader loader)
(int nTypeId, Class clz)
(int nTypeId)
()
要素
表D-2で、default-serializer
要素のサブ要素を説明します。
表D-2 default-serializerのサブ要素
要素 | 必須/ オプション |
説明 |
---|---|---|
|
必須 |
|
オプション |
(それぞれが |
使用場所: <init-params
>
説明
init-param
要素では、構成パラメータの型、および引数として渡す対応値を指定します。
要素
表D-3で、init-param
要素のサブ要素を説明します。
表D-3 init-paramのサブ要素
要素 | 必須/ オプション |
説明 |
---|---|---|
|
必須 |
値は指定された型に変換されます。インスタンス化を正常に実行するには、ターゲットのコンストラクタまたはメソッドにその型のパラメータが存在している必要があります。 |
|
必須 |
|
使用場所: <serializer
>、<default-serializer
>
説明
init-params
要素には、(それぞれがinit-param
として)ゼロ個以上の引数を記述し、それらの引数は、構成されているクラスのコンストラクタのパラメータに対応します。
要素
表D-4で、init-params
要素のサブ要素を説明します。
ルート要素
説明
pof-config
要素は、POFユーザー定義型のディスクリプタのルート要素です。
要素
表D-5で、pof-config
要素のサブ要素を説明します。
表D-5 pof-configのサブ要素
要素 | 必須/ オプション |
説明 |
---|---|---|
必須 |
|
|
<allow-interfaces> |
オプション |
|
<allow-subclasses> |
オプション |
|
<enable-references> |
オプション |
|
オプション |
|
使用場所: <user-type>
説明
serializer
要素は、特定のユーザー定義型のシリアライズおよびデシリアライズに使用するPOFシリアライザを指定します。PofSerializer
実装は、POFストリームとの間でのユーザー定義型の値のシリアライズおよびデシリアライズに使用されます。
serializer
要素を省略すると、ユーザー定義型によってPortableObject
インタフェースが実装され、PortableObjectSerializer
実装がPOFシリアライザとして使用されることになります。POF注釈を使用する場合は、PofAnnotationSerializer
実装がPOFシリアライザとして使用されます。
init-params
要素を省略した場合は、そのPofSerializer
実装に対して次の4つのコンストラクタが、ここに示された順序で試行されます。
(int nTypeId, Class clz, ClassLoader loader)
(int nTypeId, Class clz)
(int nTypeId)
()
要素
表D-6で、serializer
要素のサブ要素を説明します。
表D-6 serializerのサブ要素
要素 | 必須/ オプション |
説明 |
---|---|---|
|
必須 |
|
オプション |
|
使用場所: <user-type-list
>
説明
user-type
要素には、POFユーザー定義型の宣言を記述します。POFユーザー定義型は、一意の識別、移植、バージョニングが可能なオブジェクト・クラスで、言語、オペレーティング・システム、ハードウェアおよび場所に関係なく、システム間で通信できます。
user-type
要素の中ではtype-id
要素を省略できますが、スキーマのバージョニングおよび進化をサポートできるように、使用することを強くお薦めします。
user-type
要素の中にはclass-name
要素が必要であり、ユーザー定義型のすべての値にタイプの割当てが可能なJavaクラスまたはJavaインタフェースの完全修飾名を指定します。
serializer
要素を省略すると、ユーザー定義型によってPortableObject
インタフェースが実装され、PortableObjectSerializer
実装がPofSerializer
として使用されることになります。
要素
表D-7で、user-type
要素のサブ要素を説明します。
表D-7 user-typeのサブ要素
要素 | 必須/ オプション |
説明 |
---|---|---|
|
オプション |
|
|
必須 |
|
オプション |
serializer要素を省略すると、ユーザー定義型によって
|
使用場所: <pof-config
>
説明
user-type-list
要素には、ゼロ個以上のuser-type
要素を記述します。使用されるPOFユーザー定義型はそれぞれ、user-type-list
に一覧表示されている必要があります。
user-type-list
要素には、ゼロ個以上のinclude
要素も記述できます。それぞれのinclude
要素は、別のpof-config
ファイルで定義されたuser-type
要素の追加に使用されます。
要素
表D-8で、user-type-list
要素のサブ要素を説明します。
表D-8 user-type-listのサブ要素
要素 | 必須/ オプション |
説明 |
---|---|---|
オプション |
|
|
|
オプション |
|