Nikita, For Externalizable option 1 is the correct one. Externalizable objects should not be treated as binary objects.
For read/writeObject, you indeed have to extend ObjectOutputStream. writeObject() is final because you should extend writeObjectOverride() instead. Take a look at ObjectOutputStream's JavaDoc and on how this is done in OptimizedObjectOutputStream. Note that ideally we need to implement everything that is included in Java serialization spec, including some non-trivial stuff like PutField. I would check if it's possible to somehow reuse the code that already exists in optimized marshaller as much as possible. -Val On Tue, Apr 18, 2017 at 1:36 PM, Nikita Amelchev <[email protected]> wrote: > I see two ways to support the Externalizable in the BM: > 1. Add a new type constant to the GridBinaryMarshaller class etc and > read/writeExternal in the BinaryClassDescriptor. > 2. Make read/writeExternal through the BINARY type without updating > metadata. > I don't know how to make a support read/writeObject of the Serializable > without delegating to the OM. Because read/writeObject methods need the > Objectoutputstream class argument. One way is to delegate it to the > OptimizedObjectOutputStream. Second way is to extend the Objectoutputstream > in the BinaryWriterExImpl. But it is wrong way because the writeObject is > final. > > 2017-01-19 20:46 GMT+03:00 Valentin Kulichenko < > [email protected]>: > > > Nikita, > > > > In my view we just need to support Externalizable and > > writeObject/readObject in BinaryMarshaller and get rid of delegation to > > optimized marshaller. Once such classes also go through BinaryMarshaller > > streams, they will be aware of binary configuration and will share the > same > > set of handles as well. This should take care of all the issues we have > > here. > > > > -Val > > > > On Thu, Jan 19, 2017 at 7:26 AM, Nikita Amelchev <[email protected]> > > wrote: > > > > > I have some questions about single Marshaller. > > > It seems not easy to merge OptimizedMarshaller with BinaryMarshaller > and > > is > > > there any sense in it? > > > When Binary object inside Externalizable serialized with optimized it > > > losing all benefits. > > > Will OptimizedMarshaller be supported at 2.0 version? Or to merge they > is > > > better? > > > What do you think about it? > > > > > > In addition, Vladimir Ozerov, I would like to hear your opinion. > > > > > > 2017-01-17 23:32 GMT+03:00 Denis Magda <[email protected]>: > > > > > > > Someone else added you to the contributors list in JIRA. This is why > I > > > > couldn’t add you for the second time. Ignite committers, please reply > > on > > > > the dev list if you add someone to the list. > > > > > > > > Nikita, yes, this ticket is still relevant. Go ahead and assign it on > > > > yourself. > > > > > > > > Also please you may want to help with approaching 2.0 release and > take > > > > care of one of the sub-tasks that must be included in 2.0: > > > > https://issues.apache.org/jira/browse/IGNITE-4547 < > > > > https://issues.apache.org/jira/browse/IGNITE-4547> > > > > > > > > — > > > > Denis > > > > > > > > > On Jan 15, 2017, at 9:02 PM, Nikita Amelchev <[email protected] > > > > > > wrote: > > > > > > > > > > This issue was created long ago. Is still relevant? > > > > > > > > > > JIRA account: > > > > > Username: NSAmelchev > > > > > Full Name: Amelchev Nikita > > > > > > > > > > > > > > > 2017-01-14 1:52 GMT+03:00 Denis Magda <[email protected]>: > > > > > > > > > >> Hi Nikita, > > > > >> > > > > >> I can’t find provided account in Ignite JIRA > > > > >> https://issues.apache.org/jira/browse/IGNITE < > > > > https://issues.apache.org/ > > > > >> jira/browse/IGNITE> > > > > >> > > > > >> Please create an account there and share with me. > > > > >> > > > > >> This information might be useful for you as well. > > > > >> > > > > >> Subscribe to both dev and user lists: > > > > >> https://ignite.apache.org/community/resources.html#mail-lists > > > > >> > > > > >> Get familiar with Ignite development process described here: > > > > >> https://cwiki.apache.org/confluence/display/IGNITE/ > > > Development+Process > > > > >> > > > > >> Instructions on how to contribute can be found here: > > > > >> https://cwiki.apache.org/confluence/display/IGNITE/How+ > > to+Contribute > > > > >> > > > > >> Project setup in Intellij IDEAL > > > > >> https://cwiki.apache.org/confluence/display/IGNITE/Project+Setup > > > > >> > > > > >> Regards, > > > > >> Denis > > > > >> > > > > >>> On Jan 13, 2017, at 1:37 AM, Nikita Amelchev < > [email protected] > > > > > > > >> wrote: > > > > >>> > > > > >>> Hello everyone. > > > > >>> > > > > >>> I'd like to take IGNITE-2894. Can you assign to me? > > > > >>> > > > > >>> Username: NSAmelchev > > > > >>> > > > > >>> -- > > > > >>> Best wishes, > > > > >>> Amelchev Nikita > > > > >> > > > > >> > > > > > > > > > > > > > > > -- > > > > > Best wishes, > > > > > Amelchev Nikita > > > > > > > > > > > > > > > > > -- > > > Best wishes, > > > Amelchev Nikita > > > > > > > > > -- > Best wishes, > Amelchev Nikita >
