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? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>