バイナリ形式の詳細は、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のサブ要素
要素 | 必須/ オプション | 説明 |
---|---|---|
オプション |
|
|
|
オプション |
|