Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
16.3. Protocol Interoperability
The compatibility
element's enabled
parameter is set to true
or false
to determine whether compatibility mode is in use.
Example 16.1. Compatibility Mode Enabled
<cache-container name="local" default-cache="default" statistics="true"> <local-cache name="default" start="EAGER" statistics="true"> <compatibility enabled="true"/> </local-cache> </cache-container>
<cache-container name="local" default-cache="default" statistics="true">
<local-cache name="default" start="EAGER" statistics="true">
<compatibility enabled="true"/>
</local-cache>
</cache-container>
Use a configurationBuilder with the compatibility mode enabled as follows:
ConfigurationBuilder builder = ... builder.compatibility().enable();
ConfigurationBuilder builder = ...
builder.compatibility().enable();
The compatibility
element's enabled
parameter is set to true
or false
to determine whether compatibility mode is in use.
<namedCache name="compatcache"> <compatibility enabled="true"/> </namedCache>
<namedCache name="compatcache">
<compatibility enabled="true"/>
</namedCache>
16.3.1. Use Cases and Requirements Link kopierenLink in die Zwischenablage kopiert!
Use Case | Client A (Reader or Writer) | Client B (Write/Read Counterpart of Client A) |
---|---|---|
1 | Memcached | Hot Rod Java |
2 | REST | Hot Rod Java |
3 | Memcached | REST |
4 | Hot Rod Java | Hot Rod C++ |
5 | Embedded | Hot Rod Java |
6 | REST | Hot Rod C++ |
7 | Memcached | Hot Rod C++ |
Person
instance, it would use a String as a key.
Client A Side
- A uses a third-party marshaller, such as Protobuf or Avro, to serialize the
Person
value into a byte[]. A UTF-8 encoded string must be used as the key (according to Memcached protocol requirements). - A writes a key-value pair to the server (key as UTF-8 string, the value as byte arrays).
Client B Side
- B must read a
Person
for a specific key (String). - B serializes the same UTF-8 key into the corresponding byte[].
- B invokes
get(byte[])
- B obtains a byte[] representing the serialized object.
- B uses the same marshaller as A to unmarshall the byte[] into the corresponding
Person
object.
Note
- In Use Case 4, the Protostream Marshaller, which is included with the Hot Rod Java client, is recommended. For the Hot Rod C++ client, the Protobuf Marshaller from Google (https://developers.google.com/protocol-buffers/docs/overview) is recommended.
- In Use Case 5, the default Hot Rod marshaller can be used.
16.3.2. Protocol Interoperability Over REST Link kopierenLink in die Zwischenablage kopiert!
application/x-java-serialized-object
, application/xml
, or application/json
. Any other byte arrays are treated as application/octet-stream
.