Hello!

Before put() is completed, Binary Object Schema is not created/updated and
so the type names are not reflected here.

Unfortunately, if you need to read all fields of binary objects, you may
need to use internal APIs (which may not work as expected or change between
releases),
such as, in this case, BinaryObjectImpl.createSchema().fieldIds() and
BinaryObjectImpl.field(int fieldId).

I recommend putting any variable properties in a map field as opposed to
re-building binary object on the fly.

Regards,
-- 
Ilya Kasnacheev


сб, 9 мая 2020 г. в 18:46, takumi <[email protected]>:

> Hello. As I am in trouble, please help me.
>
> I use Java ThinClient and Ignite Cache Server.
> In client code, I update BinaryObject by BinaryObjectBuilder API.
>     ex) BinaryObject bo = clientCache.get(KEY);
>          clientCache.put(KEY, bo.toBuilder().setField("AddField",
> ...).build());
>
> But MyCacheInterceptor#onBeforePut(entry, newVal) is not update
> newVal.type().fieldNames().
> newVal.type().fieldNames() does not return "AddField" field.
>
> I can get newVal.field("AddField");
>
> How can I update type().fieldNames() result?
> I want to get a "newVal" in response list of type().fieldNames().
>
> Sorry, I am weak in English, and a sentence is not good.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to