ObjectTransformer インターフェースは、アプリケーションへのコールバックを使用して、通常の操作と、オブジェクト・シリアライゼーションやオブジェクトのディープ・コピーなどのコストのかかる操作のカスタム実装を提供します。
ObjectTransformer インターフェースは、DataSerializer プラグインで置換されました。これを使用して、既存の製品 API がデータと効率的に対話できるように WebSphere® eXtreme
Scale 内の任意のデータを効率的に格納できます。
NO_COPY モードが使用されている場合を除いて、値のコピーは常に行われます。eXtreme Scale 内で採用されているデフォルトのコピー・メカニズムはシリアライゼーションであり、これはコストのかかる操作として知られています。 ObjectTransformer インターフェースはこのような状況で使用します。ObjectTransformer インターフェースは、アプリケーションへのコールバックを使用して、通常の操作と、オブジェクト・シリアライズやオブジェクトに対するディープ・コピーなどのコストのかかる操作のカスタム実装を提供します。
public interface ObjectTransformer {
void serializeKey(Object key, ObjectOutputStream stream) throws IOException;
void serializeValue(Object value, ObjectOutputStream stream) throws IOException;
Object inflateKey(ObjectInputStream stream) throws IOException, ClassNotFoundException;
Object inflateValue(ObjectInputStream stream) throws IOException, ClassNotFoundException;
Object copyValue(Object value);
Object copyKey(Object key);
}
ObjectGrid g = ...;
BackingMap bm = g.defineMap("PERSON");
MyObjectTransformer ot = new MyObjectTransformer();
bm.setObjectTransformer(ot);