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
>

Reply via email to