C POF User Type Configuration Elements
This appendix includes the following sections:
- POF Configuration Deployment Descriptor
The POF configuration deployment descriptor is used to specify non-intrinsic types, referred to as User Types, for objects that are being serialized and deserialized using POF. - POF Configuration Element Reference
The POF configuration element reference includes all non-terminal elements.
POF Configuration Deployment Descriptor
pof-config.xml
. A sample POF configuration deployment descriptor is located in the root of the coherence.jar
library and is used unless a custom pof-config.xml
file is found before the coherence.jar
library within the application's classpath. All cluster members should use identical POF configuration deployment descriptors.
The POF configuration deployment descriptor schema is defined in the coherence-pof-config.xsd
file. This XSD file is located in the root of the coherence.jar
library and at the following Web URL:
http://xmlns.oracle.com/coherence/coherence-pof-config/1.3/coherence-pof-config.xsd
The <pof-config>
element is the root element of the POF configuration deployment descriptor and includes the XSD and namespace declarations. For example:
<?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">
Note:
-
The schema located in the
coherence.jar
library is always used at run time even if thexsi:schemaLocation
attribute references the Web URL. -
The
xsi:schemaLocation
attribute can be omitted to disable schema validation. -
When deploying Coherence into environments where the default character set is EBCDIC rather than ASCII, ensure that the deployment descriptor file is in ASCII format and is deployed into its run-time environment in the binary format.
Coherence-specific user types are defined in the coherence-pof-config.xml
file that is also located in the root of the coherence.jar
library. This file should always be referenced as follows when creating a pof-config.xml
file:
<?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>
Parent topic: POF User Type Configuration Elements
POF Configuration Element Reference
Parent topic: POF User Type Configuration Elements
default-serializer
Used in: pof-config
Description
This element specifies a PofSerializer
to use when serializing and deserializing all user types defined within the pof-config
element. If a serializer is specified within a user-type
, then that serializer is used for that user-type instead of the default serializer.
If the default serializer element is omitted, the serializer defined for the specific user type is used. If the serializer for the user type is also omitted, then the user type is assumed to implement the PortableObject
interface, and the PortableObjectSerializer
implementation is used as the PofSerializer
.
If the init-params
element is omitted from the default serializer element, then the following four constructors are attempted on the specific PofSerializer
implementation, and in this order:
-
(int nTypeId, Class clz, ClassLoader loader)
-
(int nTypeId, Class clz)
-
(int nTypeId)
-
()
Elements
Table C-1 describes the subelements of the default-serializer
element.
Table C-1 default-serializer Subelements
Element | Required/ Optional | Description |
---|---|---|
|
Required |
Specifies the fully qualified name of the |
Optional |
Specifies zero or more arguments (each as an |
Parent topic: POF Configuration Element Reference
init-param
Used in: init-params
Description
The init-param
element provides a type for a configuration parameter and a corresponding value to pass as an argument.
Elements
Table C-2 describes the subelements of the init-param
element.
Table C-2 init-param Subelements
Element | Required/ Optional | Description |
---|---|---|
|
Required |
The
The value is converted to the specified type, and the target constructor or method must have a parameter of that type for the instantiation to succeed. |
|
Required |
The
|
Parent topic: POF Configuration Element Reference
init-params
Used in: serializer
, default-serializer
Description
The init-params
element contains zero or more arguments (each as an init-param
) that correspond to the parameters of a constructor of the class that is being configured.
Elements
Table C-3 describes the subelements of the init-params
element.
Table C-3 init-params Subelements
Element | Required/ Optional | Description |
---|---|---|
Required |
The |
Parent topic: POF Configuration Element Reference
pof-config
root element
Description
The pof-config
element is the root element of the POF user type configuration descriptor.
Elements
Table C-4 describes the subelements of the pof-config
element.
Table C-4 pof-config Subelements
Element | Required/ Optional | Description |
---|---|---|
Required |
The |
|
<allow-interfaces> |
Optional |
The |
<allow-subclasses> |
Optional |
The |
<enable-references> |
Optional |
The |
Optional |
The |
Parent topic: POF Configuration Element Reference
serializer
Used in: user-type
Description
The serializer
element specifies what POF serializer to use to serialize and deserialize a specific user type. A PofSerializer
implementation is used to serialize and deserialize user type values to and from a POF stream.
If the serializer
element is omitted, then the user type is assumed to implement the PortableObject
interface and the PortableObjectSerializer
implementation is used as the POF serializer. If POF annotations are used, then the PofAnnotationSerializer
implementation is used as the POF serializer.
If the init-params
element is omitted, then the following four constructors are attempted (in this order) on the specific PofSerializer
implementation:
-
(int nTypeId, Class clz, ClassLoader loader)
-
(int nTypeId, Class clz)
-
(int nTypeId)
-
()
Elements
Table C-5 describes the subelements of the serializer
element.
Table C-5 serializer Subelements
Element | Required/ Optional | Description |
---|---|---|
|
Required |
Specifies the fully qualified name of the |
Optional |
The |
Parent topic: POF Configuration Element Reference
user-type
Used in: user-type-list
Description
The user-type
element contains the declaration of a POF user type. A POF user type is a uniquely identifiable, portable, versionable object class that can be communicated among systems regardless of language, operating system, hardware and location.
Within the user-type
element, the type-id
element is optional, but its use is strongly suggested to support schema versioning and evolution.
Within the user-type
element, the class-name
element is required, and specifies the fully qualified name of the Java class or interface that all values of the user type are type-assignable to.
If the serializer
element is omitted, then the user type is assumed to implement the PortableObject
interface, and the PortableObjectSerializer
implementation is used as the PofSerializer
.
Elements
Table C-6 describes the subelements of the user-type
element.
Table C-6 user-type Subelements
Element | Required/ Optional | Description |
---|---|---|
|
Optional |
The |
|
Required |
The |
Optional |
The If the serializer element is omitted, then the user type is assumed to implement the If the
|
Parent topic: POF Configuration Element Reference
user-type-list
Used in: pof-config
Description
The user-type-list
element contains zero or more user-type
elements. Each POF user type that is used must be listed in the user-type-list
.
The user-type-list
element may also contain zero or more include
elements. Each include
element is used to add user-type
elements defined in another pof-config
file.
Elements
Table C-7 describes the subelements of the user-type-list
element.
Table C-7 user-type-list Subelements
Element | Required/ Optional | Description |
---|---|---|
Optional |
The Within the Within the If the |
|
|
Optional |
The |
Parent topic: POF Configuration Element Reference