John,

Then you should just get a new builder every time when you need it:
myIgniteInstance.binary().builder("MyKey"). I don't see why you need to
reuse builder from multiple threads here.

Evgenii

ср, 15 июл. 2020 г. в 14:34, John Smith <java.dev....@gmail.com>:

> I'm using it in Vertx.io. if you understand the concept a bit. I have 2
> vertices.
>
> I create 2 instances of BinaryObjectBuilder
>
> Each builder creates a new object (binary key) per "event" that comes in.
>
> So if I get 2 events then each builder will build one...
>
> If I get 3 events, the 3rd event will wait until one of the event loops
> can process the next event...
>
>
>
> On Wed., Jul. 15, 2020, 3:43 p.m. Evgenii Zhuravlev, <
> e.zhuravlev...@gmail.com> wrote:
>
>> 1. This builder can be used for making one object, do you want to
>> construct one object from multiple threads?
>> 2. No, you still can work with BinaryObjects instead of actual classes.
>>
>> Evgenii
>>
>> ср, 15 июл. 2020 г. в 08:50, John Smith <java.dev....@gmail.com>:
>>
>>> Hi Evgenii, it works good. I have two questions...
>>>
>>> 1- Is the BinaryObjectBuilder obtained from
>>> myIgniteInstance.binary().builder("MyKey"); thread safe? Can I pass the
>>> same builder to multiple instances of my cache "repository" wrapper I wrote?
>>> 2- If we want to use the actual MyKey class then I suppose that needs to
>>> be in the classpath on all nodes?
>>>
>>> On Wed, 15 Jul 2020 at 10:43, John Smith <java.dev....@gmail.com> wrote:
>>>
>>>> Ok I will try it...
>>>>
>>>> On Tue, 14 Jul 2020 at 22:34, Evgenii Zhuravlev <
>>>> e.zhuravlev...@gmail.com> wrote:
>>>>
>>>>> John,
>>>>>
>>>>> It's not necessary to have class at all, you can specify any type, you
>>>>> just need to use this type when creating binary object for this key.
>>>>>
>>>>> вт, 14 июл. 2020 г. в 17:50, John Smith <java.dev....@gmail.com>:
>>>>>
>>>>>> I just used two columns as primary key...
>>>>>>
>>>>>> Of I use key_type and specify a type does that class need to exist in
>>>>>> the class path of the server nodes?
>>>>>>
>>>>>> Like if I have
>>>>>>
>>>>>> class MyKeyClass {
>>>>>>    Integer col1;
>>>>>>    Integer col2;
>>>>>> }
>>>>>>
>>>>>> Does this class need to be loaded in all nodes or ignite can figure
>>>>>> it out and marshal it?
>>>>>>
>>>>>> On Tue., Jul. 14, 2020, 6:50 p.m. Evgenii Zhuravlev, <
>>>>>> e.zhuravlev...@gmail.com> wrote:
>>>>>>
>>>>>>> Hi John,
>>>>>>>
>>>>>>> To do this, you need to create a key object with the same type as
>>>>>>> you have for the table. If you don't specify KEY_TYPE in the create 
>>>>>>> table
>>>>>>> script, it will be generated automatically. I would recommend to 
>>>>>>> specify it
>>>>>>> for the command(just type name, if you don't have a class) and, when you
>>>>>>> need to get data using key-value API, just create a binary object of 
>>>>>>> this
>>>>>>> type with these fields:
>>>>>>> https://www.gridgain.com/docs/latest/developers-guide/key-value-api/binary-objects#creating-and-modifying-binary-objects
>>>>>>>
>>>>>>> Evgenii
>>>>>>>
>>>>>>> вт, 14 июл. 2020 г. в 07:18, John Smith <java.dev....@gmail.com>:
>>>>>>>
>>>>>>>> Hi, I have an SQL table
>>>>>>>>
>>>>>>>> create table if not exists my_table (
>>>>>>>> column1 int,
>>>>>>>> column2 int,
>>>>>>>> column3 varchar(16),
>>>>>>>> PRIMARY KEY (column1, column2)
>>>>>>>> ) with "template=replicatedTpl";
>>>>>>>>
>>>>>>>> and I'm creating my near cache as follows...
>>>>>>>>
>>>>>>>> IgniteCache<Integer, String> myCache;
>>>>>>>>
>>>>>>>> NearCacheConfiguration<Integer, String> nearConfig = new
>>>>>>>> NearCacheConfiguration<>();
>>>>>>>> nearConfig.setNearEvictionPolicyFactory(new
>>>>>>>> LruEvictionPolicyFactory<>(1024));
>>>>>>>>
>>>>>>>> myCache =
>>>>>>>> this.ignite.getOrCreateNearCache(SQL_PUBLIC_MY_TABLE, nearConfig)
>>>>>>>> .withExpiryPolicy(new AccessedExpiryPolicy(new
>>>>>>>> Duration(TimeUnit.HOURS, 1)));
>>>>>>>>
>>>>>>>> So if I use myCache.get()...
>>>>>>>>
>>>>>>>> 1- How do I specify the primary key if it's 2 columns?
>>>>>>>> 2- I assume the data will be put in near cache?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>

Reply via email to