バイナリ形式の詳細は、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ライブラリのルートにあります。<pof-config>要素はPOF構成デプロイメントのルート要素であり、通常は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.jarライブラリにあるスキーマは、xsi:schemaLocation属性がWeb URLを参照する場合であっても、常に実行時に使用されます。
xsi:schemaLocation属性を省略すると、スキーマ検証を無効にできます。
デフォルトの文字セットがASCIIではなくEBCDICである環境にCoherenceをデプロイする場合、デプロイメント・ディスクリプタ・ファイルがASCII形式であり、ランタイム環境にバイナリ形式でデプロイされることを確認してください。
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>
このリファレンスには、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)
()
要素
表C-1で、default-serializer要素のサブ要素を説明します。
表C-1 default-serializerのサブ要素
| 要素 | 必須/ オプション | 説明 |
|---|---|---|
|
必須 |
|
オプション |
(それぞれが |
使用場所: init-params
説明
init-param要素では、構成パラメータの型、および引数として渡す対応値を指定します。
要素
表C-2は、init-param要素のサブ要素を示しています。
表C-2 init-paramのサブ要素
| 要素 | 必須/ オプション | 説明 |
|---|---|---|
|
必須 |
値は指定された型に変換されます。インスタンス化を正常に実行するには、ターゲットのコンストラクタまたはメソッドにその型のパラメータが存在している必要があります。 |
|
必須 |
|
使用場所: serializer、default-serializer
説明
init-params要素には、(それぞれがinit-paramとして)ゼロ個以上の引数を記述し、それらの引数は、構成されているクラスのコンストラクタのパラメータに対応します。
要素
表C-3は、init-params要素のサブ要素を示しています。
表C-3 init-paramsのサブ要素
| 要素 | 必須/ オプション | 説明 |
|---|---|---|
必須 |
|
ルート要素
説明
pof-config要素は、POFユーザー定義型のディスクリプタのルート要素です。
要素
表C-4で、pof-config要素のサブ要素を説明します。
表C-4 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)
()
要素
表C-5で、serializer要素のサブ要素を説明します。
表C-5 serializerのサブ要素
| 要素 | 必須/ オプション | 説明 |
|---|---|---|
|
必須 |
|
オプション |
|
使用場所: user-type-list
説明
user-type要素には、POFユーザー定義型の宣言を記述します。POFユーザー定義型は、一意の識別、移植、バージョニングが可能なオブジェクト・クラスで、言語、オペレーティング・システム、ハードウェアおよび場所に関係なく、システム間で通信できます。
user-type要素の中ではtype-id要素を省略できますが、スキーマのバージョニングおよび進化をサポートできるように、使用することを強くお薦めします。
user-type要素の中にはclass-name要素が必要であり、ユーザー定義型のすべての値にタイプの割当てが可能なJavaクラスまたはJavaインタフェースの完全修飾名を指定します。
serializer要素を省略すると、ユーザー定義型によってPortableObjectインタフェースが実装され、PortableObjectSerializer実装がPofSerializerとして使用されることになります。
要素
表C-6で、user-type要素のサブ要素を説明します。
表C-6 user-typeのサブ要素
| 要素 | 必須/ オプション | 説明 |
|---|---|---|
|
オプション |
|
|
必須 |
|
オプション |
serializer要素を省略すると、ユーザー定義型によって
|
使用場所: pof-config
説明
user-type-list要素には、ゼロ個以上のuser-type要素を記述します。使用されるPOFユーザー定義型はそれぞれ、user-type-listに一覧表示されている必要があります。
user-type-list要素には、ゼロ個以上のinclude要素も記述できます。それぞれのinclude要素は、別のpof-configファイルで定義されたuser-type要素の追加に使用されます。
要素
表C-7で、user-type-list要素のサブ要素を説明します。
表C-7 user-type-listのサブ要素
| 要素 | 必須/ オプション | 説明 |
|---|---|---|
オプション |
|
|
|
オプション |
|