Community
Participate
Working Groups
EclipseLink uses serialization in several places. This feature defines a generic Serializer interface and allows pluggable serializers to be used for SerializedObjectConverters (Basic), cache coordination, and other serialization usages. Serializers could be provided for Java, XML, JSON, Kryo, other third party serializers. This allows optimized serializer to improve performance, but allows allows storing objects as XML or JSON.
See, http://wiki.eclipse.org/EclipseLink/DesignDocs/406993
Created attachment 230520 [details] patch
Git main push: Bug#406993 - xml, json, kryo, custom, serializers https://bugs.eclipse.org/bugs/show_bug.cgi?id=406993 Adds support for custom serializers for cache coordination and serialized mappings. Changes: - Defined existing (serialized, class-instance) reserved Convert names as static variables, and added xml, json, kryo for other serialization types. - Added @SerializedConverter, @SerializedConverters to allow specification of the Serializer to use for serialized converters. - Added persistence unit property to define cache coordination serializer, "eclipselink.cache.coordination.serializer". - Added some initial JGroups configuration. - Added ClassNameConversionRequired to allow generic Converter class conversion. - ObjectBuilder, ResultSetRecord, SimpleResultSetRecord: did some micro optimizations - UnitOfWorkChangeSet: switched to serializing instead of converting to bytes in RCM command, convert entire command to bytes instead. - CommandPropagator, RemoteCommandManager : allow command to be passed as bytes and support custom serialization. - SerializedObjectConverter: added support for serializers. - SessionProfiler: added profiling of cache coordination. - KryoSerializer: changed to be thread safe. - Added serializer tests to JPA lob model. - Added JPA meta-data for serializers.
Created attachment 231114 [details] patch
Git push master: Bug#406993 - custom serializers https://bugs.eclipse.org/bugs/show_bug.cgi?id=406993 Adds some serializer updates, and adds commit order option to order by changes. Changes: - Added "eclipselink.persistence-context.commit-order" persistence unit property to configure commit order - Deprecated "eclipselink.order-updates" persistence unit property. - Added CommitOrderType to config to define commit order options, ID, CHANGES, NONE (order updates/deletes by Id, or group updates by changes/id, or don't do any ordering other than constraint ordering) - Replaced some Vector references to List in change records - Changed CommitManager to support ordering updates by changes (to group same SQL for batch writing) - Added changes Comparator to ObjectChangeSet - Added some set methods to change sets for custom serialization. - Added CommitOrderType to UnitOfWork - Added Serializer initialization - Added serializer to RCM - Added AbstractSerializer - Added JPQL test for AS OF clause. - Fixed AbstractObjectLevelReadQueryVisitor to disable maintain cache for AS OF queries.
Fixed in 2.6
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink