This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 406993 - Support custom serializers
Summary: Support custom serializers
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Nobody - feel free to take it CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-01 11:00 EDT by James Sutherland CLA
Modified: 2022-06-09 10:35 EDT (History)
1 user (show)

See Also:


Attachments
patch (265.27 KB, patch)
2013-05-06 10:58 EDT, James Sutherland CLA
no flags Details | Diff
patch (128.56 KB, patch)
2013-05-16 15:30 EDT, James Sutherland CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James Sutherland CLA 2013-05-01 11:00:51 EDT
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.
Comment 1 James Sutherland CLA 2013-05-01 12:59:12 EDT
See,

http://wiki.eclipse.org/EclipseLink/DesignDocs/406993
Comment 2 James Sutherland CLA 2013-05-06 10:58:31 EDT
Created attachment 230520 [details]
patch
Comment 3 James Sutherland CLA 2013-05-06 11:14:32 EDT
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.
Comment 4 James Sutherland CLA 2013-05-16 15:30:07 EDT
Created attachment 231114 [details]
patch
Comment 5 James Sutherland CLA 2013-05-21 09:39:14 EDT
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.
Comment 6 James Sutherland CLA 2013-07-02 11:19:28 EDT
Fixed in 2.6
Comment 7 Eclipse Webmaster CLA 2022-06-09 10:35:44 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink