Great, Michael! I announced the integration via our twitter channel:
https://twitter.com/ApacheIgnite/status/1305568860964179968?s=20

and we'll work on a technical article a bit later once finish with the
release of the new Ignite docs.

-
Denis


On Mon, Sep 14, 2020 at 10:10 AM Michael Pollind <mpoll...@gmail.com> wrote:

> here is the release:
> https://search.maven.org/artifact/io.micronaut.ignite/micronaut-ignite-core/1.0.0.RC1/jar
>
> On Fri, Sep 11, 2020 at 10:16 AM Michael Pollind <mpoll...@gmail.com>
> wrote:
>
>> looks like I was wrong, will have to wait till this PR get merged and a
>> release is made in the repo.
>>
>> https://github.com/micronaut-projects/micronaut-core/pull/4070
>>
>> On Fri, Sep 11, 2020 at 10:01 AM Michael Pollind <mpoll...@gmail.com>
>> wrote:
>>
>>> The caching is setup in the branch and the release candidate is already
>>> out I think. can't think of anything off the top of my head with tweaking
>>> the ignite cache module but i'm sure a few adjustments can be made.
>>>
>>> On Thu, Sep 10, 2020 at 10:41 AM Denis Magda <dma...@apache.org> wrote:
>>>
>>>> Michael, congrats, it was a pleasure working with you!
>>>>
>>>> Let us know once the release candidate is published. I'll go ahead and
>>>> update my tutorial, and would probably create a separate blog post for
>>>> DZone or Dev.to:
>>>>
>>>> https://www.gridgain.com/docs/tutorials/micronaut/getting-started/ignite-micronaut-getting-started
>>>>
>>>> Are you planning to work on the Micronaut Caching module? Or is it
>>>> already enabled and we just need to prepare examples on how to use Ignite
>>>> as a Micronaut cache?
>>>>
>>>> -
>>>> Denis
>>>>
>>>>
>>>> On Thu, Sep 10, 2020 at 9:17 AM Michael Pollind <mpoll...@gmail.com>
>>>> wrote:
>>>>
>>>>> With some help from @Denis Magda <dma...@gridgain.com>, we were able
>>>>> to rework micronaut-ignite and  a release candidate was approved. I'm
>>>>> pretty happy with this first pass and there is a lot more that can be 
>>>>> added
>>>>> but this is a good initial first step.
>>>>>
>>>>> documentation can be bound here:
>>>>> https://micronaut-projects.github.io/micronaut-ignite/snapshot/guide/
>>>>> PR: https://github.com/micronaut-projects/micronaut-ignite/pull/33
>>>>>
>>>>> On Thu, Aug 27, 2020 at 5:32 PM Michael Pollind <mpoll...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Not sure, I would probably bring that up in the PR so the micronaut
>>>>>> devs are aware of this. Not sure how the CI will work and what can be
>>>>>> arranged in this case.
>>>>>>
>>>>>> On Thu, Aug 27, 2020 at 3:50 PM Denis Magda <dma...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Michael,
>>>>>>>
>>>>>>> The docs look good enough for the release. Once the integration is
>>>>>>> released, I'll update and extend my Micronaut tutorial elucidating
>>>>>>> on how
>>>>>>> to use the integration in practice for various use cases.
>>>>>>>
>>>>>>> Btw, are the ignite-core and ignite-cache Maven artifacts will be
>>>>>>> released
>>>>>>> for a specific version of Ignite? Ideally, the version of Ignite
>>>>>>> needs to
>>>>>>> be set in a pom.xml and the Micronaut integration should pick them
>>>>>>> up.
>>>>>>>
>>>>>>> Also, what are we doing next - reviewing APIs of the ignite-cache
>>>>>>> module or
>>>>>>> going through a review process of the ignite-core and merging it
>>>>>>> first to
>>>>>>> the Micronaut repository?
>>>>>>>
>>>>>>> -
>>>>>>> Denis
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Aug 26, 2020 at 3:35 PM Michael Pollind <mpoll...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>> > Also you need to sign the CLA since you add a commit to my branch.
>>>>>>> >
>>>>>>> > branch:
>>>>>>> https://github.com/pollend/micronaut-ignite/tree/feature/rework
>>>>>>> > linked PR:
>>>>>>> https://github.com/micronaut-projects/micronaut-ignite/pull/33
>>>>>>> >
>>>>>>> > --
>>>>>>> > Michael Pollind
>>>>>>> >
>>>>>>> > On Wed, Aug 26, 2020 at 3:29 PM Denis Magda <dma...@apache.org>
>>>>>>> wrote:
>>>>>>> >
>>>>>>> > > Could you share the full path to the branch? Don't want to pick
>>>>>>> a wrong
>>>>>>> > one
>>>>>>> > > accidentally.
>>>>>>> > >
>>>>>>> > >
>>>>>>> > > -
>>>>>>> > > Denis
>>>>>>> > >
>>>>>>> > >
>>>>>>> > > On Wed, Aug 26, 2020 at 2:47 PM Michael Pollind <
>>>>>>> mpoll...@gmail.com>
>>>>>>> > > wrote:
>>>>>>> > >
>>>>>>> > > > so that clears up the extra flag for micronaut-cache. just
>>>>>>> need to
>>>>>>> > > > intercept the default IgniteConfiguration bean and update the
>>>>>>> > > > configuration. if you pull my latest changes from the rework
>>>>>>> branch you
>>>>>>> > > can
>>>>>>> > > > look at the docs for that micronaut module. `./gradlew docs`.
>>>>>>> > Finalizing
>>>>>>> > > > the docs should be the last part of this.  The configuration
>>>>>>> from my
>>>>>>> > > > perspective seems pretty much there. Is there anything else
>>>>>>> that is
>>>>>>> > > > missing?
>>>>>>> > > >
>>>>>>> > > > On Wed, Aug 26, 2020 at 1:31 PM Denis Magda <dma...@apache.org>
>>>>>>> wrote:
>>>>>>> > > >
>>>>>>> > > > > đź‘Ť Nice catch!
>>>>>>> > > > >
>>>>>>> > > > > -
>>>>>>> > > > > Denis
>>>>>>> > > > >
>>>>>>> > > > >
>>>>>>> > > > > On Wed, Aug 26, 2020 at 12:16 PM Michael Pollind <
>>>>>>> mpoll...@gmail.com
>>>>>>> > >
>>>>>>> > > > > wrote:
>>>>>>> > > > >
>>>>>>> > > > > > One thing that just occurred to me for the
>>>>>>> > > DefaultIgniteConfiguration.
>>>>>>> > > > > you
>>>>>>> > > > > > can actually just intercept the bean when it's created.
>>>>>>> This should
>>>>>>> > > let
>>>>>>> > > > > us
>>>>>>> > > > > > use the enable flag from ignite-core for ignite-cache
>>>>>>> without the
>>>>>>> > > > > > additional flag.
>>>>>>> > > > > >
>>>>>>> > > > > > @Singleton
>>>>>>> > > > > > public class IgniteConfigurationFactoryInterceptor
>>>>>>> implements
>>>>>>> > > > > > BeanCreatedEventListener<DefaultIgniteConfiguration> {
>>>>>>> > > > > >     @Override
>>>>>>> > > > > >     public IgniteConfiguration
>>>>>>> > > > > > onCreated(BeanCreatedEvent<DefaultIgniteConfiguration>
>>>>>>> event) {
>>>>>>> > > > > >         IgniteConfiguration configuration =
>>>>>>> event.getBean();
>>>>>>> > > > > >         configuration.setIgniteInstanceName("instance-a");
>>>>>>> > > > > >         return configuration;
>>>>>>> > > > > >     }
>>>>>>> > > > > > }
>>>>>>> > > > > >
>>>>>>> > > > > >
>>>>>>> > > > > > On Wed, Aug 26, 2020 at 11:31 AM Denis Magda <
>>>>>>> dma...@apache.org>
>>>>>>> > > > wrote:
>>>>>>> > > > > >
>>>>>>> > > > > > > Michael,
>>>>>>> > > > > > >
>>>>>>> > > > > > > Looks terrific! I went ahead and grouped the
>>>>>>> configuration
>>>>>>> > samples
>>>>>>> > > > by a
>>>>>>> > > > > > > client type:
>>>>>>> > > > > > >
>>>>>>> > > > >
>>>>>>> > >
>>>>>>> https://cwiki.apache.org/confluence/display/IGNITE/Micronaut+Integration
>>>>>>> > > > > > >
>>>>>>> > > > > > > As you see, the "Ignite Thin Client" section is blank
>>>>>>> for now.
>>>>>>> > > Would
>>>>>>> > > > > you
>>>>>>> > > > > > > mind filling it with configuration options following the
>>>>>>> format
>>>>>>> > > taken
>>>>>>> > > > > for
>>>>>>> > > > > > > the thick client?
>>>>>>> > > > > > >
>>>>>>> > > > > > > Ping me here once you're ready to review the API and
>>>>>>> > implementation
>>>>>>> > > > of
>>>>>>> > > > > > the
>>>>>>> > > > > > > ignite-caching module.
>>>>>>> > > > > > >
>>>>>>> > > > > > > -
>>>>>>> > > > > > > Denis
>>>>>>> > > > > > >
>>>>>>> > > > > > >
>>>>>>> > > > > > > On Tue, Aug 25, 2020 at 9:16 PM Michael Pollind <
>>>>>>> > > mpoll...@gmail.com>
>>>>>>> > > > > > > wrote:
>>>>>>> > > > > > >
>>>>>>> > > > > > > > Here is a sample project I threw together and I've
>>>>>>> also updated
>>>>>>> > > the
>>>>>>> > > > > > wiki
>>>>>>> > > > > > > > just a bit. working on updating the documentation on
>>>>>>> the
>>>>>>> > > micronaut
>>>>>>> > > > > end.
>>>>>>> > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> > > > > >
>>>>>>> > > >
>>>>>>> >
>>>>>>> https://cwiki.apache.org/confluence/display/IGNITE/Micronaut+Integration
>>>>>>> > > > > > > > https://github.com/pollend/micronaut-ignite-sample
>>>>>>> > > > > > > >
>>>>>>> > > > > > > > On Mon, Aug 24, 2020 at 6:57 PM Michael Pollind <
>>>>>>> > > > mpoll...@gmail.com>
>>>>>>> > > > > > > > wrote:
>>>>>>> > > > > > > >
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > yea, I'm not sure about ignite-cache config.
>>>>>>> splitting it
>>>>>>> > into
>>>>>>> > > > two
>>>>>>> > > > > > > > modules
>>>>>>> > > > > > > > > seems kind of overly complicated, but I also don't
>>>>>>> really
>>>>>>> > like
>>>>>>> > > > the
>>>>>>> > > > > > > random
>>>>>>> > > > > > > > > boolean flag. here is the tweaks from the config your
>>>>>>> > provider:
>>>>>>> > > > > > > > > https://github.com/pollend/micronaut-ignite/pull/2
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > kind of strange that there are not getters for the
>>>>>>> > > > > > > > > TcpDiscoveryKubernetesIpFinder but there is enough
>>>>>>> to verify
>>>>>>> > > that
>>>>>>> > > > > the
>>>>>>> > > > > > > > > correct ipfinder was set from the unit test i've
>>>>>>> written.
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > static ip finder
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > "ignite.enabled"
>>>>>>> : true,
>>>>>>> > > > > > > > > "ignite.communication-spi.local-port"               :
>>>>>>> > > > > > "localhost:1800",
>>>>>>> > > > > > > > > "ignite.discovery-spi.static-ip-finder.enabled"
>>>>>>>  : "true",
>>>>>>> > > > > > > > >
>>>>>>> "ignite.discovery-spi.static-ip-finder.addresses[0]": "
>>>>>>> > > > > > 127.0.0.1:47500
>>>>>>> > > > > > > ",
>>>>>>> > > > > > > > >
>>>>>>> "ignite.discovery-spi.static-ip-finder.addresses[1]": "
>>>>>>> > > > > > 127.0.0.1:47501
>>>>>>> > > > > > > ",
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > kubernetties ip finder
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > "ignite.enabled"
>>>>>>>  : true,
>>>>>>> > > > > > > > > "ignite.communication-spi.local-port"
>>>>>>> :
>>>>>>> > > > > > > "localhost:1800",
>>>>>>> > > > > > > > > "ignite.discovery-spi.kubernetes-ip-finder.enabled"
>>>>>>> :
>>>>>>> > "true",
>>>>>>> > > > > > > > >
>>>>>>> "ignite.discovery-spi.kubernetes-ip-finder.namespace":
>>>>>>> > > > "HelloWorld"
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > > On Mon, Aug 24, 2020 at 6:16 PM Denis Magda <
>>>>>>> > dma...@apache.org
>>>>>>> > > >
>>>>>>> > > > > > wrote:
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > > >> Michael,
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >> I was thinking over the idea of splitting the
>>>>>>> ignite-cache
>>>>>>> > > > module
>>>>>>> > > > > in
>>>>>>> > > > > > > two
>>>>>>> > > > > > > > >> (one for a thick-client based connection and the
>>>>>>> other for
>>>>>>> > > thin
>>>>>>> > > > > > client
>>>>>>> > > > > > > > >> connections), and would try to avoid this route if
>>>>>>> possible.
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >> With the @CacheConfig annotation, Micronaut
>>>>>>> developers can
>>>>>>> > > > create
>>>>>>> > > > > a
>>>>>>> > > > > > > > >> generic
>>>>>>> > > > > > > > >> implementation that is agnostic to the Ignite
>>>>>>> connectivity
>>>>>>> > > > > methods,
>>>>>>> > > > > > > > which
>>>>>>> > > > > > > > >> is good. While internally, the ignite-cache
>>>>>>> implementation
>>>>>>> > can
>>>>>>> > > > > > decide
>>>>>>> > > > > > > > what
>>>>>>> > > > > > > > >> Ignite Cache API to use (the thick or thin client
>>>>>>> one,
>>>>>>> > depends
>>>>>>> > > > on
>>>>>>> > > > > > the
>>>>>>> > > > > > > > type
>>>>>>> > > > > > > > >> of a client you started with our auto-configuration
>>>>>>> > feature).
>>>>>>> > > > > Let’s
>>>>>>> > > > > > > > >> discuss
>>>>>>> > > > > > > > >> all the existing issues here and jump on another
>>>>>>> call to
>>>>>>> > > > finalize
>>>>>>> > > > > a
>>>>>>> > > > > > > > >> solution if needed.
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >> Denis
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >> On Monday, August 24, 2020, Denis Magda <
>>>>>>> dma...@apache.org>
>>>>>>> > > > > wrote:
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >> > Michael,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Great progress, thanks for your patience. I went
>>>>>>> ahead and
>>>>>>> > > > > pushed
>>>>>>> > > > > > > some
>>>>>>> > > > > > > > >> > changes to your working branch. As you'll see,
>>>>>>> those
>>>>>>> > changes
>>>>>>> > > > do
>>>>>>> > > > > > some
>>>>>>> > > > > > > > >> minor
>>>>>>> > > > > > > > >> > tweaks in the
>>>>>>> DefaultIgniteThinClientConfiguration class
>>>>>>> > and
>>>>>>> > > > add
>>>>>>> > > > > > > > Static
>>>>>>> > > > > > > > >> > with Kubernetes IP finders to the
>>>>>>> > DefaultIgniteConfiguration
>>>>>>> > > > > > class.
>>>>>>> > > > > > > > The
>>>>>>> > > > > > > > >> > IgniteConfigurationSpec fails for now, but I
>>>>>>> think we'll
>>>>>>> > > > figure
>>>>>>> > > > > > how
>>>>>>> > > > > > > to
>>>>>>> > > > > > > > >> > modify the test on the call today.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Also, let's decide if we want to configure
>>>>>>> IgniteCaches
>>>>>>> > via
>>>>>>> > > > the
>>>>>>> > > > > > > > >> Micronaut
>>>>>>> > > > > > > > >> > configuration. If an application needs to create
>>>>>>> any
>>>>>>> > caches,
>>>>>>> > > > it
>>>>>>> > > > > > can
>>>>>>> > > > > > > do
>>>>>>> > > > > > > > >> this
>>>>>>> > > > > > > > >> > dynamically after an Ignite instance is started.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > -
>>>>>>> > > > > > > > >> > Denis
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > On Sat, Aug 22, 2020 at 1:15 PM Michael Pollind <
>>>>>>> > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > >
>>>>>>> > > > > > > > >> > wrote:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > The way i've gone about providing dependencies is
>>>>>>> that
>>>>>>> > these
>>>>>>> > > > can
>>>>>>> > > > > > be
>>>>>>> > > > > > > > >> > provided through a factory.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > @Bean
>>>>>>> > > > > > > > >> > @Named("default")
>>>>>>> > > > > > > > >> > @Primary
>>>>>>> > > > > > > > >> > public IgniteConfiguration
>>>>>>> > > > > > > > >> igniteConfiguration(DefaultIgniteConfiguration
>>>>>>> > configuration,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> Collection<DefaultCacheConfiguration>
>>>>>>> cacheConfigurations,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> Collection<PluginProvider> providers,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> Collection<DefaultExecutorConfiguration>
>>>>>>> > > executorConfigurations,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> Optional<PlatformConfiguration>
>>>>>>> platformConfigurations,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > Optional<CollisionSpi>
>>>>>>> > > > > > > > >> collisionSpi,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> Collection<LoadBalancingSpi> loadBalancingSpis,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > Collection<FailoverSpi>
>>>>>>> > > > > > > > >> failoverSpis,
>>>>>>> > > > > > > > >> >
>>>>>>> > > @ConsistencyId
>>>>>>> > > > > > > > >> Optional<Serializable> consistencyId,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > @IgniteLifecycle
>>>>>>> > > > > > > > >> Collection<LifecycleBean> lifecycleBeans) {
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > >
>>>>>>> > > >
>>>>>>> configuration.setCacheConfiguration(cacheConfigurations.toArray(new
>>>>>>> > > > > > > > >> CacheConfiguration[0]))
>>>>>>> > > > > > > > >> >         .setPluginProviders(providers.toArray(new
>>>>>>> > > > > > > PluginProvider[0]))
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > >
>>>>>>> .setExecutorConfiguration(executorConfigurations.toArray(new
>>>>>>> > > > > > > > >> ExecutorConfiguration[0]))
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > >
>>>>>>> .setPlatformConfiguration(platformConfigurations.orElse(null))
>>>>>>> > > > > > > > >> >         .setFailoverSpi(failoverSpis.toArray(new
>>>>>>> > > > > FailoverSpi[0]))
>>>>>>> > > > > > > > >> >
>>>>>>>  .setLoadBalancingSpi(loadBalancingSpis.toArray(new
>>>>>>> > > > > > > > >> LoadBalancingSpi[0]))
>>>>>>> > > > > > > > >> >
>>>>>>>  .setConsistentId(consistencyId.orElse(null))
>>>>>>> > > > > > > > >> >
>>>>>>>  .setLifecycleBeans(lifecycleBeans.toArray(new
>>>>>>> > > > > > > > LifecycleBean[0]))
>>>>>>> > > > > > > > >> >
>>>>>>>  .setCollisionSpi(collisionSpi.orElse(null));
>>>>>>> > > > > > > > >> >     return configuration;
>>>>>>> > > > > > > > >> > }
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > On Sat, Aug 22, 2020 at 8:37 AM Michael Pollind <
>>>>>>> > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > >
>>>>>>> > > > > > > > >> > wrote:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > here is an updated example what the yaml looks
>>>>>>> like now.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > ignite:
>>>>>>> > > > > > > > >> >     enabled: true
>>>>>>> > > > > > > > >> >     comunication-spi:
>>>>>>> > > > > > > > >> >         local-port: 5555
>>>>>>> > > > > > > > >> >     cache-configurations:
>>>>>>> > > > > > > > >> >     - accounts:
>>>>>>> > > > > > > > >> >         table-name: ACCOUNTS
>>>>>>> > > > > > > > >> >         key-type: String
>>>>>>> > > > > > > > >> >     - books:
>>>>>>> > > > > > > > >> >         table-name: BOOKS
>>>>>>> > > > > > > > >> >         key-type: String
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > On Fri, Aug 21, 2020 at 10:28 PM Michael Pollind <
>>>>>>> > > > > > > mpoll...@gmail.com>
>>>>>>> > > > > > > > >> > wrote:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > micronaut will only inject into a nested object
>>>>>>> if its
>>>>>>> > > static
>>>>>>> > > > > and
>>>>>>> > > > > > > > nested
>>>>>>> > > > > > > > >> > in a class. Its a separate final class so it will
>>>>>>> not work
>>>>>>> > > in
>>>>>>> > > > > this
>>>>>>> > > > > > > > >> case. So
>>>>>>> > > > > > > > >> > DataRegionConfiguration will not get set from the
>>>>>>> > > environment.
>>>>>>> > > > > > This
>>>>>>> > > > > > > > is a
>>>>>>> > > > > > > > >> > working example but this can be adjusted.  I
>>>>>>> guess it
>>>>>>> > would
>>>>>>> > > > have
>>>>>>> > > > > > to
>>>>>>> > > > > > > be
>>>>>>> > > > > > > > >> > setup like DefaultIgniteConfiguration.
>>>>>>> > > > > > > DefaultDataStorageConfiguration
>>>>>>> > > > > > > > >> > and a nested EachProperty? Lets try have a
>>>>>>> minimum working
>>>>>>> > > > setup
>>>>>>> > > > > > and
>>>>>>> > > > > > > > >> then
>>>>>>> > > > > > > > >> > add in the missing configurations as we go?
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > @ConfigurationBuilder(value =
>>>>>>> "dataStorageConfiguration",
>>>>>>> > > > > > excludes =
>>>>>>> > > > > > > > >> "dataRegionConfigurations")
>>>>>>> > > > > > > > >> > final DataStorageConfiguration
>>>>>>> dataStorageConfiguration =
>>>>>>> > > new
>>>>>>> > > > > > > > >> DataStorageConfiguration();
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > @EachProperty("dataRegionConfigurations")
>>>>>>> > > > > > > > >> > public static class
>>>>>>> DefaultDataRegionConfiguration {
>>>>>>> > > > > > > > >> >     @ConfigurationBuilder()
>>>>>>> > > > > > > > >> >     DataRegionConfiguration
>>>>>>> dataRegionConfiguration = new
>>>>>>> > > > > > > > >> DataRegionConfiguration();
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >     public DataRegionConfiguration
>>>>>>> > > > getDataRegionConfiguration()
>>>>>>> > > > > {
>>>>>>> > > > > > > > >> >         return dataRegionConfiguration;
>>>>>>> > > > > > > > >> >     }
>>>>>>> > > > > > > > >> > }
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > On Fri, Aug 21, 2020 at 7:08 PM Michael Pollind <
>>>>>>> > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > >
>>>>>>> > > > > > > > >> > wrote:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Dennis,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > oh, so I made those adjustments. I must have
>>>>>>> missed it
>>>>>>> > > because
>>>>>>> > > > > > that
>>>>>>> > > > > > > > >> didn't
>>>>>>> > > > > > > > >> > occur to me. So DefaultIgniteConfiguration is
>>>>>>> fine, but
>>>>>>> > > > > > > > >> ClientConfiguration
>>>>>>> > > > > > > > >> > is a final class so that can't be extended from.
>>>>>>> This PR
>>>>>>> > is
>>>>>>> > > > > > starting
>>>>>>> > > > > > > > to
>>>>>>> > > > > > > > >> > shape up from my perspective, I just need to
>>>>>>> update the
>>>>>>> > > > > > > documentation.
>>>>>>> > > > > > > > >> The
>>>>>>> > > > > > > > >> > other thing I did was add a flag for the
>>>>>>> associated cache
>>>>>>> > to
>>>>>>> > > > use
>>>>>>> > > > > > > > >> > micronuat-cache. umm, I'll play with this a bit
>>>>>>> and see
>>>>>>> > If I
>>>>>>> > > > can
>>>>>>> > > > > > > work
>>>>>>> > > > > > > > >> out
>>>>>>> > > > > > > > >> > something better. ignite.enabled can be false but
>>>>>>> you can
>>>>>>> > > > > provide
>>>>>>> > > > > > > your
>>>>>>> > > > > > > > >> own
>>>>>>> > > > > > > > >> > bean in place but that doesn't seem quite right.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > [image: image.png]
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > https://github.com/micronaut-projects/micronaut-ignite/pull/33
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > On Fri, Aug 21, 2020 at 6:29 PM Denis Magda <
>>>>>>> > > > dma...@apache.org>
>>>>>>> > > > > > > > wrote:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Michael,
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Thanks, for verifying.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > I've tried extending ClientConfiguration but
>>>>>>> couldn't get
>>>>>>> > > the
>>>>>>> > > > > > > > >> > > getters/setters working with
>>>>>>> ConfigurationBuilder.
>>>>>>> > Instead
>>>>>>> > > > > they
>>>>>>> > > > > > > are
>>>>>>> > > > > > > > >> just
>>>>>>> > > > > > > > >> > > placed into wrapper classes.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Have a look at how Hazelcast implemented the
>>>>>>> default
>>>>>>> > > > > configuration
>>>>>>> > > > > > > for
>>>>>>> > > > > > > > >> its
>>>>>>> > > > > > > > >> > thin client by extending ClientConfig class of
>>>>>>> Hazelcast
>>>>>>> > > core:
>>>>>>> > > > > > > > >> >
>>>>>>> > https://github.com/micronaut-projects/micronaut-cache/blob/
>>>>>>> > > > > > > > >> >
>>>>>>> > > > >
>>>>>>> master/cache-hazelcast/src/main/java/io/micronaut/cache/hazelcast/
>>>>>>> > > > > > > > >> > HazelcastClientConfiguration.java
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Some observations. After extending ClientConfig,
>>>>>>> their
>>>>>>> > > > > Micronaut's
>>>>>>> > > > > > > > >> > HazelcastClientConfiguration exposes the following
>>>>>>> > > > configuration
>>>>>>> > > > > > > > >> > parameteres:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >    - Some fields of primitive types that belong
>>>>>>> to the
>>>>>>> > > parent
>>>>>>> > > > > > > > >> ClientConfig
>>>>>>> > > > > > > > >> >    class. They do this by adding this - *includes
>>>>>>> =
>>>>>>> > > > > {"properties",
>>>>>>> > > > > > > > >> >    "instanceName", "labels", "userContext",
>>>>>>> > "clusterName"}*
>>>>>>> > > > > > > > >> >    - ClientNetworkConfig, ConnectionRetryConfig,
>>>>>>> > > SocketOptions
>>>>>>> > > > > > > > >> properties
>>>>>>> > > > > > > > >> >    (that exist in the parent ClientConfig class)
>>>>>>> can not
>>>>>>> > be
>>>>>>> > > > > > > inherited
>>>>>>> > > > > > > > as
>>>>>>> > > > > > > > >> >    above. Thus, they define those with
>>>>>>> > @ConfigurationBuilder
>>>>>>> > > > > > > manually.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > As a result, their implementation is simple and
>>>>>>> compact,
>>>>>>> > and
>>>>>>> > > > > here
>>>>>>> > > > > > > is a
>>>>>>> > > > > > > > >> > final list of configuration properties:
>>>>>>> > > > > > > > >> >
>>>>>>> https://micronaut-projects.github.io/micronaut-cache/
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > >
>>>>>>> > > > > >
>>>>>>> > > >
>>>>>>> >
>>>>>>> snapshot/guide/#io.micronaut.cache.hazelcast.HazelcastClientConfiguration
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > Could you check if we can follow a similar
>>>>>>> approach? Let's
>>>>>>> > > > start
>>>>>>> > > > > > > with
>>>>>>> > > > > > > > >> the
>>>>>>> > > > > > > > >> > thin client. It's much simpler.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > > yea, will need to
>>>>>>> > > > > > > > >> > > setup a way for a user to provide their own
>>>>>>> bean because
>>>>>>> > > > there
>>>>>>> > > > > > is
>>>>>>> > > > > > > no
>>>>>>> > > > > > > > >> way
>>>>>>> > > > > > > > >> > a
>>>>>>> > > > > > > > >> > > full configuration could be covered but I
>>>>>>> haven't quite
>>>>>>> > > > worked
>>>>>>> > > > > > > that
>>>>>>> > > > > > > > >> out
>>>>>>> > > > > > > > >> > > yet.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > That will be outstanding and fit well the design.
>>>>>>> Let me
>>>>>>> > > know
>>>>>>> > > > if
>>>>>>> > > > > > you
>>>>>>> > > > > > > > >> need
>>>>>>> > > > > > > > >> > me to help to figure out how to do that with
>>>>>>> Micronaut.
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > -
>>>>>>> > > > > > > > >> > Denis
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > On Fri, Aug 21, 2020 at 5:52 PM Michael Pollind <
>>>>>>> > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > >
>>>>>>> > > > > > > > >> > wrote:
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> > > Dennis,
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > This is what I came up with with some of the
>>>>>>> > suggestions:
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > https://github.com/micronaut-projects/micronaut-ignite/blob/
>>>>>>> > > > > > > > >> >
>>>>>>> 3e1529ca4a40c2eb00793e344a36bb48d2a7d3fe/ignite-core/src/
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > >
>>>>>>> > > > >
>>>>>>> >
>>>>>>> main/java/io/micronaut/ignite/configuration/DefaultIgniteConfiguration.
>>>>>>> > > > > > > > >> > java
>>>>>>> > > > > > > > >> > > and
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > https://github.com/micronaut-projects/micronaut-ignite/blob/
>>>>>>> > > > > > > > >> >
>>>>>>> 3e1529ca4a40c2eb00793e344a36bb48d2a7d3fe/ignite-core/src/
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > >
>>>>>>> > > > > > >
>>>>>>> > > > > >
>>>>>>> > > > >
>>>>>>> > > >
>>>>>>> > >
>>>>>>> >
>>>>>>> main/java/io/micronaut/ignite/configuration/DefaultCacheConfiguration.java
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > test cases:
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > https://github.com/micronaut-projects/micronaut-ignite/blob/
>>>>>>> > > > > > > > >> >
>>>>>>> 3e1529ca4a40c2eb00793e344a36bb48d2a7d3fe/ignite-core/src/
>>>>>>> > > > > > > > >> >
>>>>>>> > > test/groovy/io/micronaut/ignite/IgniteConfigurationSpec.groovy
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > I've tried extending ClientConfiguration but
>>>>>>> couldn't
>>>>>>> > get
>>>>>>> > > > the
>>>>>>> > > > > > > > >> > > getters/setters working with
>>>>>>> ConfigurationBuilder.
>>>>>>> > Instead
>>>>>>> > > > > they
>>>>>>> > > > > > > are
>>>>>>> > > > > > > > >> just
>>>>>>> > > > > > > > >> > > placed into wrapper classes. Anyways, I don't
>>>>>>> think
>>>>>>> > > > > > > > >> ConfigurationProperty
>>>>>>> > > > > > > > >> > > is supposed to work this way. Also note the
>>>>>>> table in the
>>>>>>> > > > > > > > >> documentation is
>>>>>>> > > > > > > > >> > > generated and without a way to exclude things I
>>>>>>> don't
>>>>>>> > > think
>>>>>>> > > > > this
>>>>>>> > > > > > > > will
>>>>>>> > > > > > > > >> > work
>>>>>>> > > > > > > > >> > > cleanly. The other thing I wanted to do was nest
>>>>>>> > > > @EachProperty
>>>>>>> > > > > > in
>>>>>>> > > > > > > a
>>>>>>> > > > > > > > >> > single
>>>>>>> > > > > > > > >> > > @ConfigurationProperties but that doesn't work
>>>>>>> with how
>>>>>>> > > > stuff
>>>>>>> > > > > > gets
>>>>>>> > > > > > > > >> > resolved
>>>>>>> > > > > > > > >> > > (
>>>>>>> > > > > >
>>>>>>> https://github.com/micronaut-projects/micronaut-core/issues/3938
>>>>>>> > > > > > > ).
>>>>>>> > > > > > > > >> so
>>>>>>> > > > > > > > >> > the
>>>>>>> > > > > > > > >> > > cachConfiguration is in another class. This is
>>>>>>> kind of a
>>>>>>> > > > first
>>>>>>> > > > > > > > working
>>>>>>> > > > > > > > >> > > example so this will need to be adjusted quite
>>>>>>> a bit.
>>>>>>> > yea,
>>>>>>> > > > > will
>>>>>>> > > > > > > need
>>>>>>> > > > > > > > >> to
>>>>>>> > > > > > > > >> > > setup a way for a user to provide their own
>>>>>>> bean because
>>>>>>> > > > there
>>>>>>> > > > > > is
>>>>>>> > > > > > > no
>>>>>>> > > > > > > > >> way
>>>>>>> > > > > > > > >> > a
>>>>>>> > > > > > > > >> > > full configuration could be covered but I
>>>>>>> haven't quite
>>>>>>> > > > worked
>>>>>>> > > > > > > that
>>>>>>> > > > > > > > >> out
>>>>>>> > > > > > > > >> > > yet.
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > If this is ok then I can do another pass on the
>>>>>>> > > confluence.
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > On Fri, Aug 21, 2020 at 1:55 PM Denis Magda <
>>>>>>> > > > > dma...@apache.org>
>>>>>>> > > > > > > > >> wrote:
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > > Michael,
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > Finally, I figured out Micronaut configuration
>>>>>>> > > > > specificities.
>>>>>>> > > > > > > What
>>>>>>> > > > > > > > >> > > confused
>>>>>>> > > > > > > > >> > > > me before, is that even though the beans
>>>>>>> configuration
>>>>>>> > > in
>>>>>>> > > > > > > > Micronaut
>>>>>>> > > > > > > > >> > looks
>>>>>>> > > > > > > > >> > > > quite similar to the Spring Boot approach,
>>>>>>> the former
>>>>>>> > > > > > automates
>>>>>>> > > > > > > a
>>>>>>> > > > > > > > >> lot
>>>>>>> > > > > > > > >> > > with
>>>>>>> > > > > > > > >> > > > the help of reflection in runtime. That's how
>>>>>>> our
>>>>>>> > > default
>>>>>>> > > > > > Spring
>>>>>>> > > > > > > > >> Boot
>>>>>>> > > > > > > > >> > > > configuration looks
>>>>>>> > > > > > > > >> > > > <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > https://github.com/apache/ignite-extensions/blob/master/
>>>>>>> > > > > > > > >> >
>>>>>>> modules/spring-boot-thin-client-autoconfigure-ext/src/
>>>>>>> > > > > > > > >> >
>>>>>>> > > > main/java/org/apache/ignite/springframework/boot/autoconfigure/
>>>>>>> > > > > > > > >> > IgniteClientConfigurer.java
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > like. And that's enough to let the users
>>>>>>> define any
>>>>>>> > > > possible
>>>>>>> > > > > > > > >> property
>>>>>>> > > > > > > > >> > of
>>>>>>> > > > > > > > >> > > an
>>>>>>> > > > > > > > >> > > > IgniteConfiguration instance as per this
>>>>>>> example
>>>>>>> > > > > > > > >> > > > <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> https://apacheignite-mix.readme.io/docs/spring-boot#
>>>>>>> > > > > > > > >> > set-ignite-up-via-spring-boot-configuration
>>>>>>> > > > > > > > >> > > > >.
>>>>>>> > > > > > > > >> > > > The upside of the reflection.
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > Anyway, let's go back to our world. That's
>>>>>>> what I
>>>>>>> > would
>>>>>>> > > > > > suggest.
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > *Ignite Thin Client*
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > >    - Let's create
>>>>>>> DefaultThinClientConfiguration that
>>>>>>> > > > > > *extends*
>>>>>>> > > > > > > > >> > Ignite's
>>>>>>> > > > > > > > >> > > >    ClientConfiguration
>>>>>>> > > > > > > > >> > > >    <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> https://github.com/apache/ignite/blob/master/modules/
>>>>>>> > > > > > > > >> >
>>>>>>> core/src/main/java/org/apache/ignite/configuration/
>>>>>>> > > > > > > > >> > ClientConfiguration.java
>>>>>>> > > > > > > > >> > > > >.
>>>>>>> > > > > > > > >> > > >    Once done, it will be possible to
>>>>>>> configure most of
>>>>>>> > > > > > > > >> > > ClientConfiguration
>>>>>>> > > > > > > > >> > > >    settings which are primitive types. (guess
>>>>>>> that's
>>>>>>> > how
>>>>>>> > > > you
>>>>>>> > > > > > > were
>>>>>>> > > > > > > > >> doing
>>>>>>> > > > > > > > >> > > > that
>>>>>>> > > > > > > > >> > > >    before I joined the review)
>>>>>>> > > > > > > > >> > > >    - Some fields of the ClientConfiguration
>>>>>>> class are
>>>>>>> > of
>>>>>>> > > > > > custom
>>>>>>> > > > > > > > >> > > >    non-primitive types and should be added
>>>>>>> into the
>>>>>>> > > > > > > > >> > > >    DefaultThinClientConfiguration explicitly
>>>>>>> via the
>>>>>>> > > > > > > > >> > > @ConfigurationBuilder
>>>>>>> > > > > > > > >> > > >    annotation. Those fields are *sslType,
>>>>>>> sslProtocol,
>>>>>>> > > > > > > > >> > > >     sslCtxFactory, txCfg*.
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > Apart from the
>>>>>>> DefaultThinClientConfiguration, can we
>>>>>>> > > > > support
>>>>>>> > > > > > > > >> another
>>>>>>> > > > > > > > >> > > > configuration approach when a
>>>>>>> ClientConfiguration bean
>>>>>>> > > is
>>>>>>> > > > > > > created
>>>>>>> > > > > > > > >> > > > programmatically in the source code and the
>>>>>>> > integration
>>>>>>> > > > uses
>>>>>>> > > > > > > that
>>>>>>> > > > > > > > >> bean
>>>>>>> > > > > > > > >> > to
>>>>>>> > > > > > > > >> > > > initialize an instance of the thin client
>>>>>>> (instead of
>>>>>>> > > > > > > > >> > > > using DefaultThinClientConfiguration that
>>>>>>> requires to
>>>>>>> > > set
>>>>>>> > > > > the
>>>>>>> > > > > > > > >> > properties
>>>>>>> > > > > > > > >> > > > via YAML,etc.). For instance, that's how the
>>>>>>> > > > > > ClientConfiguration
>>>>>>> > > > > > > > >> bean
>>>>>>> > > > > > > > >> > is
>>>>>>> > > > > > > > >> > > > created programmatically in Spring Boot
>>>>>>> > > > > > > > >> > > > <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > >
>>>>>>> > > > >
>>>>>>> > >
>>>>>>> https://apacheignite-mix.readme.io/docs/spring-boot#set-thin-client-up-
>>>>>>> > > > > > > > >> > programmatically
>>>>>>> > > > > > > > >> > > > >and
>>>>>>> > > > > > > > >> > > > our integration uses it to initialize an
>>>>>>> Ignite
>>>>>>> > object.
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > *Ignite Node (server or thick client)*
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > Obviously, this one is trickier due to the
>>>>>>> numerous
>>>>>>> > > > > > > configuration
>>>>>>> > > > > > > > >> > > > parameters of the IgniteConfiguration class
>>>>>>> > > > > > > > >> > > > <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> https://github.com/apache/ignite/blob/master/modules/
>>>>>>> > > > > > > > >> >
>>>>>>> core/src/main/java/org/apache/ignite/configuration/
>>>>>>> > > > > > > > >> > IgniteConfiguration.java
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > .
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > So, as you suggested before, we need to
>>>>>>> select the
>>>>>>> > most
>>>>>>> > > > > > > frequently
>>>>>>> > > > > > > > >> used
>>>>>>> > > > > > > > >> > > > configuration parameters and add them to the
>>>>>>> > > > > > > > >> DefaultIgniteConfiguration
>>>>>>> > > > > > > > >> > > > with @ConfigurationBuilder annotation.
>>>>>>> However, it
>>>>>>> > seems
>>>>>>> > > > > > > > reasonable
>>>>>>> > > > > > > > >> if
>>>>>>> > > > > > > > >> > > > DefaultIgniteConfiguration will extend
>>>>>>> Ignite's
>>>>>>> > > > > > > > IgniteConfiguration
>>>>>>> > > > > > > > >> (so
>>>>>>> > > > > > > > >> > > > that we don't need to list parameters of
>>>>>>> primitive
>>>>>>> > > types).
>>>>>>> > > > > > Based
>>>>>>> > > > > > > > on
>>>>>>> > > > > > > > >> my
>>>>>>> > > > > > > > >> > > > experience, I would add the following
>>>>>>> settings of
>>>>>>> > custom
>>>>>>> > > > > > > > >> non-primitive
>>>>>>> > > > > > > > >> > > > types:
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > >    - TcpDiscoverySpi
>>>>>>> > > > > > > > >> > > >    <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > >
>>>>>>> > > >
>>>>>>> https://github.com/apache/ignite/blob/f4b30f7f1e736845ffa8eaf2d8aa17
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > >
>>>>>>> > > > > > >
>>>>>>> > > > > >
>>>>>>> > > > >
>>>>>>> > > >
>>>>>>> > >
>>>>>>> >
>>>>>>> 1700a928eb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/
>>>>>>> > > > > > > > >> > TcpDiscoverySpi.java
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > with
>>>>>>> > > > > > > > >> > > >    all its fields of primitive types (this
>>>>>>> should be
>>>>>>> > > done
>>>>>>> > > > > > > easily,
>>>>>>> > > > > > > > >> > right,
>>>>>>> > > > > > > > >> > > >    without copy-paste?) and its ipFinder
>>>>>>> field. In the
>>>>>>> > > > > > > beginning,
>>>>>>> > > > > > > > I
>>>>>>> > > > > > > > >> > would
>>>>>>> > > > > > > > >> > > > only
>>>>>>> > > > > > > > >> > > >    support setting TcpDiscoveryVmIpFinder
>>>>>>> > > > > > > > >> > > >    <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > >
>>>>>>> > > >
>>>>>>> https://github.com/apache/ignite/blob/f4b30f7f1e736845ffa8eaf2d8aa17
>>>>>>> > > > > > > > >> >
>>>>>>> 1700a928eb/modules/core/src/main/java/org/apache/ignite/
>>>>>>> > > > > > > > >> >
>>>>>>> spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > and
>>>>>>> > > > > > > > >> > > >    KubernetesIpFinder
>>>>>>> > > > > > > > >> > > >    <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > >
>>>>>>> > > >
>>>>>>> https://github.com/apache/ignite/blob/f4b30f7f1e736845ffa8eaf2d8aa17
>>>>>>> > > > > > > > >> >
>>>>>>> 1700a928eb/modules/kubernetes/src/main/java/org/apache/
>>>>>>> > > > > > > > >> > ignite/spi/discovery/tcp/ipfinder/kubernetes/
>>>>>>> > > > > > > > >> > TcpDiscoveryKubernetesIpFinder.java
>>>>>>> > > > > > > > >> > > > >via
>>>>>>> > > > > > > > >> > > >    the DefaultIgniteConfiguration.
>>>>>>> > > > > > > > >> > > >    - DataStorageConfiguration
>>>>>>> > > > > > > > >> > > >    <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > >
>>>>>>> > > >
>>>>>>> https://github.com/apache/ignite/blob/f4b30f7f1e736845ffa8eaf2d8aa17
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > >
>>>>>>> > > >
>>>>>>> 1700a928eb/modules/core/src/main/java/org/apache/ignite/configuration/
>>>>>>> > > > > > > > >> > DataStorageConfiguration.java
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > including
>>>>>>> > > > > > > > >> > > >    its DataStorageConfiguration.dataRegions
>>>>>>> property.
>>>>>>> > > > > > > > >> > > >    - TcpCommunicationSpi
>>>>>>> > > > > > > > >> > > >    <
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > >
>>>>>>> > > >
>>>>>>> https://github.com/apache/ignite/blob/f4b30f7f1e736845ffa8eaf2d8aa17
>>>>>>> > > > > > > > >> >
>>>>>>> 1700a928eb/modules/core/src/main/java/org/apache/ignite/
>>>>>>> > > > > > > > >> > spi/communication/tcp/TcpCommunicationSpi.java
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > with
>>>>>>> > > > > > > > >> > > >    its fields of primitive types. Again, here
>>>>>>> is I'm
>>>>>>> > > > > assuming
>>>>>>> > > > > > > that
>>>>>>> > > > > > > > >> we
>>>>>>> > > > > > > > >> > can
>>>>>>> > > > > > > > >> > > > do
>>>>>>> > > > > > > > >> > > >    this avoiding copy-pasting. Either through
>>>>>>> > > > > > > > @ConfigurationBuilder
>>>>>>> > > > > > > > >> > > > (include)
>>>>>>> > > > > > > > >> > > >    or inheritence.
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > If the user wants to configure any settings
>>>>>>> > unsupported
>>>>>>> > > by
>>>>>>> > > > > > > > >> > > > DefaultIgniteConfiguration then, there should
>>>>>>> be a way
>>>>>>> > > to
>>>>>>> > > > > > create
>>>>>>> > > > > > > > an
>>>>>>> > > > > > > > >> > > > IgniteConfiguration bean programmatically and
>>>>>>> use it
>>>>>>> > to
>>>>>>> > > > > > > initialize
>>>>>>> > > > > > > > >> an
>>>>>>> > > > > > > > >> > > > Ignite instance (instead of
>>>>>>> > DefaultIgniteConfiguration).
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > What's your thinking? Let me know if I'm
>>>>>>> still missing
>>>>>>> > > > > > > something.
>>>>>>> > > > > > > > >> > > > -
>>>>>>> > > > > > > > >> > > > Denis
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > On Wed, Aug 19, 2020 at 8:49 PM Saikat Maitra
>>>>>>> <
>>>>>>> > > > > > > > >> saikat.mai...@gmail.com
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > > wrote:
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > > Hi Michael, Denis
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > > I was looking into tiering options for
>>>>>>> ehcache[1]
>>>>>>> > and
>>>>>>> > > > > > network
>>>>>>> > > > > > > > >> options
>>>>>>> > > > > > > > >> > > for
>>>>>>> > > > > > > > >> > > > > Hazelcast[2]  and I am thinking we can
>>>>>>> implement
>>>>>>> > > > something
>>>>>>> > > > > > > > >> similar to
>>>>>>> > > > > > > > >> > > > > configure CommunicationSpi
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > > [1]
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> https://micronaut-projects.github.io/micronaut-cache/
>>>>>>> > > > > > > > >> > snapshot/guide/#ehcache
>>>>>>> > > > > > > > >> > > > > [2]
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> https://micronaut-projects.github.io/micronaut-cache/
>>>>>>> > > > > > > > >> > snapshot/guide/#hazelcast
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > > Let me know what you think.
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > > Regards,
>>>>>>> > > > > > > > >> > > > > Saikat
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > > On Wed, Aug 19, 2020 at 7:09 PM Michael
>>>>>>> Pollind <
>>>>>>> > > > > > > > >> mpoll...@gmail.com>
>>>>>>> > > > > > > > >> > > > > wrote:
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > > > > > A lot of this was just figured out through
>>>>>>> > > > > > experimentation.
>>>>>>> > > > > > > > You
>>>>>>> > > > > > > > >> can
>>>>>>> > > > > > > > >> > > ask
>>>>>>> > > > > > > > >> > > > > > questions in the micronaut gitter:
>>>>>>> > > > > > > > >> > > > > > https://gitter.im/micronautfw/questions
>>>>>>> > > > > > > > >> > > > > > . Micronaut documentation is pretty
>>>>>>> comprehensive:
>>>>>>> > > > > > > > >> > > > > >
>>>>>>> https://docs.micronaut.io/latest/guide/index.html
>>>>>>> > .
>>>>>>> > > > look
>>>>>>> > > > > > for
>>>>>>> > > > > > > > >> > > > EachProperty
>>>>>>> > > > > > > > >> > > > > > and ConfigurationProperty. you can also
>>>>>>> hunt
>>>>>>> > through
>>>>>>> > > > the
>>>>>>> > > > > > > > current
>>>>>>> > > > > > > > >> > > > existing
>>>>>>> > > > > > > > >> > > > > > micronaut modules and find how those
>>>>>>> configuration
>>>>>>> > > > items
>>>>>>> > > > > > are
>>>>>>> > > > > > > > >> setup.
>>>>>>> > > > > > > > >> > > > There
>>>>>>> > > > > > > > >> > > > > > is also the unit test cases in
>>>>>>> micronaut-core
>>>>>>> > which
>>>>>>> > > > have
>>>>>>> > > > > > > been
>>>>>>> > > > > > > > >> > pretty
>>>>>>> > > > > > > > >> > > > > > helpful in the past in working out how
>>>>>>> some of
>>>>>>> > these
>>>>>>> > > > > > > > annotations
>>>>>>> > > > > > > > >> > work
>>>>>>> > > > > > > > >> > > > in
>>>>>>> > > > > > > > >> > > > > > practice.
>>>>>>> > > > > > > > >> > > > > >
>>>>>>> > > > > > > > >> > > > > > On Wed, Aug 19, 2020 at 4:50 PM Denis
>>>>>>> Magda <
>>>>>>> > > > > > > > dma...@apache.org>
>>>>>>> > > > > > > > >> > > wrote:
>>>>>>> > > > > > > > >> > > > > >
>>>>>>> > > > > > > > >> > > > > > > Michael,
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > > > > Alright, then the question on the
>>>>>>> possible
>>>>>>> > > quantity
>>>>>>> > > > of
>>>>>>> > > > > > > > Ignite
>>>>>>> > > > > > > > >> > > > instances
>>>>>>> > > > > > > > >> > > > > > is
>>>>>>> > > > > > > > >> > > > > > > settled - the integration will allow to
>>>>>>> > > > > auto-configure a
>>>>>>> > > > > > > > >> single
>>>>>>> > > > > > > > >> > > > > instance
>>>>>>> > > > > > > > >> > > > > > > only.
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > > > > Give me a couple of days to look into
>>>>>>> the
>>>>>>> > > > > configuration
>>>>>>> > > > > > > > >> matters
>>>>>>> > > > > > > > >> > of
>>>>>>> > > > > > > > >> > > > > > > DefaultIgniteConfiguration and see what
>>>>>>> I can
>>>>>>> > > > suggest.
>>>>>>> > > > > > > Could
>>>>>>> > > > > > > > >> you
>>>>>>> > > > > > > > >> > > > > > recommend
>>>>>>> > > > > > > > >> > > > > > > any materials (or sources) that on
>>>>>>> Micronaut
>>>>>>> > > > > > configuration
>>>>>>> > > > > > > > >> > > specifies
>>>>>>> > > > > > > > >> > > > > > > (through YAML and programmatically via
>>>>>>> source
>>>>>>> > > code)?
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > > > > Denis
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > > > > On Wednesday, August 19, 2020, Michael
>>>>>>> Pollind <
>>>>>>> > > > > > > > >> > mpoll...@gmail.com
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> > > > > > wrote:
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > I don't think micronaut will be able
>>>>>>> to infer
>>>>>>> > > the
>>>>>>> > > > > > > > >> > > communicationSpi,
>>>>>>> > > > > > > > >> > > > > so
>>>>>>> > > > > > > > >> > > > > > > you
>>>>>>> > > > > > > > >> > > > > > > > need to define it separately as
>>>>>>> follows:
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > >
>>>>>>> >
>>>>>>> rework-1/ignite-core/src/main/java/io/micronaut/ignite/configuration/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> DefaultIgniteConfiguration.java#L40-L43.
>>>>>>> > > > > > > > >> > > > > > > > With this setup the configuration
>>>>>>> should look
>>>>>>> > > > pretty
>>>>>>> > > > > > > much
>>>>>>> > > > > > > > >> like
>>>>>>> > > > > > > > >> > > the
>>>>>>> > > > > > > > >> > > > > > > > spring-boot sample you showed me:
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > https://apacheignite-mix.readme.io/docs/spring-boot#
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> set-ignite-up-via-spring-boot-configuration.
>>>>>>> > > > > > > > >> > > > > > > > I agree it should make the
>>>>>>> configuration
>>>>>>> > easier
>>>>>>> > > > with
>>>>>>> > > > > > > just
>>>>>>> > > > > > > > >> > > allowing
>>>>>>> > > > > > > > >> > > > a
>>>>>>> > > > > > > > >> > > > > > > single
>>>>>>> > > > > > > > >> > > > > > > > instance and it matches up well with
>>>>>>> > spring-boot
>>>>>>> > > > > > > > >> configuration:
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > https://docs.micronaut.io/latest/api/io/micronaut/
>>>>>>> > > > > > > > >> > > > > > > > context/annotation/Requires.html.
>>>>>>> > > > > > > > >> > > > > > > > Since its mostly a niche usecase then
>>>>>>> having
>>>>>>> > > that
>>>>>>> > > > as
>>>>>>> > > > > > the
>>>>>>> > > > > > > > >> > default
>>>>>>> > > > > > > > >> > > > use
>>>>>>> > > > > > > > >> > > > > > case
>>>>>>> > > > > > > > >> > > > > > > > seems pretty ideal to me. the
>>>>>>> definition will
>>>>>>> > > work
>>>>>>> > > > > as
>>>>>>> > > > > > > > >> follows:
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > ignite:
>>>>>>> > > > > > > > >> > > > > > > >   enable true
>>>>>>> > > > > > > > >> > > > > > > >   ignite-instance-name: name
>>>>>>> > > > > > > > >> > > > > > > >   communication-spi:
>>>>>>> > > > > > > > >> > > > > > > >     local-port: 5555
>>>>>>> > > > > > > > >> > > > > > > >   data-storage-configuration:
>>>>>>> > > > > > > > >> > > > > > > >   ...
>>>>>>> > > > > > > > >> > > > > > > >   cache-configurations:
>>>>>>> > > > > > > > >> > > > > > > >    - name: accounts
>>>>>>> > > > > > > > >> > > > > > > >      queryEntities:
>>>>>>> > > > > > > > >> > > > > > > >      - tableName: NAME
>>>>>>> > > > > > > > >> > > > > > > >        ...
>>>>>>> > > > > > > > >> > > > > > > >    - ...
>>>>>>> > > > > > > > >> > > > > > > > ignite-thin:
>>>>>>> > > > > > > > >> > > > > > > >   enable: false
>>>>>>> > > > > > > > >> > > > > > > >   instance-name: name
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > Micronaut has some mechanism to
>>>>>>> enforce the
>>>>>>> > > > presence
>>>>>>> > > > > > of
>>>>>>> > > > > > > > >> > something
>>>>>>> > > > > > > > >> > > > > that
>>>>>>> > > > > > > > >> > > > > > > > should suffice for this usecase:
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > https://docs.micronaut.io/latest/api/io/micronaut/
>>>>>>> > > > > > > > >> > > > > > > > context/annotation/Requires.html
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > On Wed, Aug 19, 2020 at 2:45 PM Denis
>>>>>>> Magda <
>>>>>>> > > > > > > > >> dma...@apache.org
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >> > > > > wrote:
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > Michael,
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > > The current way I have it setup
>>>>>>> is the
>>>>>>> > > primary
>>>>>>> > > > > > bean
>>>>>>> > > > > > > is
>>>>>>> > > > > > > > >> used
>>>>>>> > > > > > > > >> > > by
>>>>>>> > > > > > > > >> > > > > > > default
>>>>>>> > > > > > > > >> > > > > > > > so
>>>>>>> > > > > > > > >> > > > > > > > > > you won't be able to use
>>>>>>> micronaut-cache
>>>>>>> > > with
>>>>>>> > > > > > > anything
>>>>>>> > > > > > > > >> but
>>>>>>> > > > > > > > >> > > the
>>>>>>> > > > > > > > >> > > > > > > default
>>>>>>> > > > > > > > >> > > > > > > > > > bean. I guess one can override
>>>>>>> the other
>>>>>>> > if
>>>>>>> > > > the
>>>>>>> > > > > > > > >> > configuration
>>>>>>> > > > > > > > >> > > > is
>>>>>>> > > > > > > > >> > > > > > > > present.
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > The more I'm thinking the more I'm
>>>>>>> convinced
>>>>>>> > > > that
>>>>>>> > > > > we
>>>>>>> > > > > > > > >> > shouldn't
>>>>>>> > > > > > > > >> > > > > bother
>>>>>>> > > > > > > > >> > > > > > > > about
>>>>>>> > > > > > > > >> > > > > > > > > the auto-configuration of several
>>>>>>> Ignite
>>>>>>> > > > > instances.
>>>>>>> > > > > > > As I
>>>>>>> > > > > > > > >> said
>>>>>>> > > > > > > > >> > > > > before,
>>>>>>> > > > > > > > >> > > > > > > > > that's an occasional use case.
>>>>>>> Furthermore,
>>>>>>> > > > > > Micronout
>>>>>>> > > > > > > is
>>>>>>> > > > > > > > >> > > designed
>>>>>>> > > > > > > > >> > > > > for
>>>>>>> > > > > > > > >> > > > > > > > > micro-services and serverless
>>>>>>> functions and
>>>>>>> > I
>>>>>>> > > > can
>>>>>>> > > > > > > hardly
>>>>>>> > > > > > > > >> > think
>>>>>>> > > > > > > > >> > > > of a
>>>>>>> > > > > > > > >> > > > > > use
>>>>>>> > > > > > > > >> > > > > > > > > case when a micro-service or
>>>>>>> function would
>>>>>>> > > need
>>>>>>> > > > > to
>>>>>>> > > > > > > boot
>>>>>>> > > > > > > > >> up
>>>>>>> > > > > > > > >> > > > several
>>>>>>> > > > > > > > >> > > > > > > > Ignite
>>>>>>> > > > > > > > >> > > > > > > > > clients. What if we let to
>>>>>>> auto-configure a
>>>>>>> > > > single
>>>>>>> > > > > > > > Ignite
>>>>>>> > > > > > > > >> > > > instance
>>>>>>> > > > > > > > >> > > > > > per
>>>>>>> > > > > > > > >> > > > > > > > > application process? What's your
>>>>>>> view on
>>>>>>> > this?
>>>>>>> > > > It
>>>>>>> > > > > > will
>>>>>>> > > > > > > > >> > > > > significantly
>>>>>>> > > > > > > > >> > > > > > > > > simplify the design and
>>>>>>> implementation of
>>>>>>> > > > > > integration.
>>>>>>> > > > > > > > If
>>>>>>> > > > > > > > >> > > anybody
>>>>>>> > > > > > > > >> > > > > > needs
>>>>>>> > > > > > > > >> > > > > > > > > several Ignite instances, then he
>>>>>>> can
>>>>>>> > > > instantiate
>>>>>>> > > > > > them
>>>>>>> > > > > > > > >> > > manually.
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > By default the
>>>>>>> > > > > > > > >> > > > > > > > > > thick client instance will
>>>>>>> replace the
>>>>>>> > > > > thin-client
>>>>>>> > > > > > > > >> > > DynamicCache
>>>>>>> > > > > > > > >> > > > > if
>>>>>>> > > > > > > > >> > > > > > > that
>>>>>>> > > > > > > > >> > > > > > > > > > would be ok?
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > If you agree on my proposal above,
>>>>>>> then I
>>>>>>> > > would
>>>>>>> > > > > > simply
>>>>>>> > > > > > > > >> > disallow
>>>>>>> > > > > > > > >> > > > > > > > > auto-starting more than one Ignite
>>>>>>> instance
>>>>>>> > > (let
>>>>>>> > > > > it
>>>>>>> > > > > > > be a
>>>>>>> > > > > > > > >> > thick
>>>>>>> > > > > > > > >> > > or
>>>>>>> > > > > > > > >> > > > > > thin
>>>>>>> > > > > > > > >> > > > > > > > > client). For example, if a thick
>>>>>>> client is
>>>>>>> > > > already
>>>>>>> > > > > > > > >> started,
>>>>>>> > > > > > > > >> > > then
>>>>>>> > > > > > > > >> > > > > > throw
>>>>>>> > > > > > > > >> > > > > > > an
>>>>>>> > > > > > > > >> > > > > > > > > exception on an attempt to
>>>>>>> initialize a thin
>>>>>>> > > > > client
>>>>>>> > > > > > > (and
>>>>>>> > > > > > > > >> vice
>>>>>>> > > > > > > > >> > > > > versa).
>>>>>>> > > > > > > > >> > > > > > > As
>>>>>>> > > > > > > > >> > > > > > > > > for thick vs. thin client usage in
>>>>>>> relation
>>>>>>> > to
>>>>>>> > > > > > > > Micronaut,
>>>>>>> > > > > > > > >> I
>>>>>>> > > > > > > > >> > > would
>>>>>>> > > > > > > > >> > > > > > > > recommend
>>>>>>> > > > > > > > >> > > > > > > > > using the thin client if Micronaut
>>>>>>> is
>>>>>>> > deployed
>>>>>>> > > > in
>>>>>>> > > > > a
>>>>>>> > > > > > > > >> > serverless
>>>>>>> > > > > > > > >> > > > > > function
>>>>>>> > > > > > > > >> > > > > > > > > (the thin client connects to the
>>>>>>> cluster
>>>>>>> > > > faster),
>>>>>>> > > > > > > while
>>>>>>> > > > > > > > >> for
>>>>>>> > > > > > > > >> > > > > > > > micro-services
>>>>>>> > > > > > > > >> > > > > > > > > you can use both types of clients.
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > The main reason why I was using the
>>>>>>> spring
>>>>>>> > > bean
>>>>>>> > > > > > > > definition
>>>>>>> > > > > > > > >> > was
>>>>>>> > > > > > > > >> > > > > mainly
>>>>>>> > > > > > > > >> > > > > > > for
>>>>>>> > > > > > > > >> > > > > > > > > > convenience and I'm not sure what
>>>>>>> fields
>>>>>>> > are
>>>>>>> > > > the
>>>>>>> > > > > > > most
>>>>>>> > > > > > > > >> > > relevant.
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > Ok, seems that I'm missing some
>>>>>>> important
>>>>>>> > > point
>>>>>>> > > > > > about
>>>>>>> > > > > > > > >> > > Micronaut.
>>>>>>> > > > > > > > >> > > > > Let
>>>>>>> > > > > > > > >> > > > > > me
>>>>>>> > > > > > > > >> > > > > > > > > double-check the following with you.
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > Assume these are the only fields of
>>>>>>> the
>>>>>>> > > > > > > > >> > > > DefaultIgniteConfiguration:
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > private final String name;
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > @ConfigurationBuilder()
>>>>>>> > > > > > > > >> > > > > > > > > private IgniteConfiguration
>>>>>>> > > igniteConfiguration
>>>>>>> > > > =
>>>>>>> > > > > > new
>>>>>>> > > > > > > > >> > > > > > > > > IgniteConfiguration();
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > Will I be able to set up the
>>>>>>> > communicationSpi
>>>>>>> > > > bean
>>>>>>> > > > > > > below
>>>>>>> > > > > > > > >> > > without
>>>>>>> > > > > > > > >> > > > > > having
>>>>>>> > > > > > > > >> > > > > > > > it
>>>>>>> > > > > > > > >> > > > > > > > > as a field of the
>>>>>>> > DefaultIgniteConfiguration?
>>>>>>> > > > Are
>>>>>>> > > > > > you
>>>>>>> > > > > > > > >> > getting a
>>>>>>> > > > > > > > >> > > > > > > > > NullPointerException?
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > ignite:
>>>>>>> > > > > > > > >> > > > > > > > >     name: some_name
>>>>>>> > > > > > > > >> > > > > > > > >     igniteConfiguration:
>>>>>>> > > > > > > > >> > > > > > > > >         communicationSpi:
>>>>>>> > > > > > > > >> > > > > > > > >             {redefining some fields
>>>>>>> of the
>>>>>>> > > SPI}
>>>>>>> > > > > > > > >> > > > > > > > > -
>>>>>>> > > > > > > > >> > > > > > > > > Denis
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > On Wed, Aug 19, 2020 at 12:17 AM
>>>>>>> Michael
>>>>>>> > > > Pollind <
>>>>>>> > > > > > > > >> > > > > mpoll...@gmail.com
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > wrote:
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > > Here is the initial setup that I
>>>>>>> quickly
>>>>>>> > > threw
>>>>>>> > > > > > > > together
>>>>>>> > > > > > > > >> > along
>>>>>>> > > > > > > > >> > > > > with
>>>>>>> > > > > > > > >> > > > > > > some
>>>>>>> > > > > > > > >> > > > > > > > > > example test cases. I feel like
>>>>>>> this might
>>>>>>> > > > get a
>>>>>>> > > > > > > > little
>>>>>>> > > > > > > > >> > > > > complicated
>>>>>>> > > > > > > > >> > > > > > > > but I
>>>>>>> > > > > > > > >> > > > > > > > > > think it's doable.
>>>>>>> > > > > > > > >> > > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > >
>>>>>>> >
>>>>>>> rework-1/ignite-core/src/main/java/io/micronaut/ignite/configuration/
>>>>>>> > > > > > > > >> > > > > > > > DefaultIgniteConfiguration.java
>>>>>>> > > > > > > > >> > > > > > > > > > along with some relevant test:
>>>>>>> > > > > > > > >> > > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > rework-1/ignite-core/src/test/groovy/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > > > > > > > IgniteConfigurationSpec.groovy#L55-L73
>>>>>>> > > > > > > > >> > > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > > On Tue, Aug 18, 2020 at 11:49 PM
>>>>>>> Michael
>>>>>>> > > > > Pollind <
>>>>>>> > > > > > > > >> > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > > wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >> The main reason why I was using
>>>>>>> the
>>>>>>> > spring
>>>>>>> > > > bean
>>>>>>> > > > > > > > >> definition
>>>>>>> > > > > > > > >> > > was
>>>>>>> > > > > > > > >> > > > > > > mainly
>>>>>>> > > > > > > > >> > > > > > > > > for
>>>>>>> > > > > > > > >> > > > > > > > > >> convenience and I'm not sure
>>>>>>> what fields
>>>>>>> > > are
>>>>>>> > > > > the
>>>>>>> > > > > > > most
>>>>>>> > > > > > > > >> > > > relevant.
>>>>>>> > > > > > > > >> > > > > > Will
>>>>>>> > > > > > > > >> > > > > > > > > have
>>>>>>> > > > > > > > >> > > > > > > > > >> to be kind of specific since the
>>>>>>> > > > configuration
>>>>>>> > > > > > > might
>>>>>>> > > > > > > > >> get a
>>>>>>> > > > > > > > >> > > > > little
>>>>>>> > > > > > > > >> > > > > > > > > >> complicated. The other thing you
>>>>>>> can do
>>>>>>> > is
>>>>>>> > > > use
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > https://docs.micronaut.io/latest/api/io/micronaut/core/
>>>>>>> > > > > > > > >> > > > > > > > convert/format/MapFormat.html
>>>>>>> > > > > > > > >> > > > > > > > > >> which will just map fields and
>>>>>>> values and
>>>>>>> > > you
>>>>>>> > > > > can
>>>>>>> > > > > > > > pass
>>>>>>> > > > > > > > >> > that
>>>>>>> > > > > > > > >> > > to
>>>>>>> > > > > > > > >> > > > > > > > somewhere
>>>>>>> > > > > > > > >> > > > > > > > > >> else to be manage it.
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >> so you will need to do something
>>>>>>> like
>>>>>>> > this
>>>>>>> > > as
>>>>>>> > > > > > > > follows:
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >> private final String name;
>>>>>>> > > > > > > > >> > > > > > > > > >> @ConfigurationBuilder()
>>>>>>> > > > > > > > >> > > > > > > > > >> private IgniteConfiguration
>>>>>>> > > > > igniteConfiguration =
>>>>>>> > > > > > > new
>>>>>>> > > > > > > > >> > > > > > > > > IgniteConfiguration();
>>>>>>> > > > > > > > >> > > > > > > > > >> @ConfigurationBuilder(value =
>>>>>>> > > > > "communicationSpi")
>>>>>>> > > > > > > > >> > > > > > > > > >> private TcpCommunicationSpi
>>>>>>> > > communicationSpi
>>>>>>> > > > =
>>>>>>> > > > > > new
>>>>>>> > > > > > > > >> > > > > > > > > TcpCommunicationSpi();
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >> [image: image.png]
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >> On Tue, Aug 18, 2020 at 11:05 PM
>>>>>>> Michael
>>>>>>> > > > > Pollind
>>>>>>> > > > > > <
>>>>>>> > > > > > > > >> > > > > > > mpoll...@gmail.com>
>>>>>>> > > > > > > > >> > > > > > > > > >> wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>
>>>>>>> > > > > > > > >> > > > > > > > > >>> Its whatever is setup by
>>>>>>> default when
>>>>>>> > the
>>>>>>> > > > > object
>>>>>>> > > > > > > is
>>>>>>> > > > > > > > >> > > > declared. I
>>>>>>> > > > > > > > >> > > > > > > think
>>>>>>> > > > > > > > >> > > > > > > > > we
>>>>>>> > > > > > > > >> > > > > > > > > >>> will have to define multiple
>>>>>>> > > > > > ConfigurationBuilders
>>>>>>> > > > > > > > If
>>>>>>> > > > > > > > >> i'm
>>>>>>> > > > > > > > >> > > not
>>>>>>> > > > > > > > >> > > > > > > > mistaken
>>>>>>> > > > > > > > >> > > > > > > > > for
>>>>>>> > > > > > > > >> > > > > > > > > >>> the IgniteConfiguration.  you
>>>>>>> don't need
>>>>>>> > > to
>>>>>>> > > > > > > provide
>>>>>>> > > > > > > > >> the
>>>>>>> > > > > > > > >> > > name
>>>>>>> > > > > > > > >> > > > > > since
>>>>>>> > > > > > > > >> > > > > > > > > that is
>>>>>>> > > > > > > > >> > > > > > > > > >>> provided by the key for each
>>>>>>> > configuration
>>>>>>> > > > > under
>>>>>>> > > > > > > > >> > > > EachProperty.
>>>>>>> > > > > > > > >> > > > > > The
>>>>>>> > > > > > > > >> > > > > > > > > name is
>>>>>>> > > > > > > > >> > > > > > > > > >>> the qualified name that refers
>>>>>>> to that
>>>>>>> > > bean
>>>>>>> > > > > and
>>>>>>> > > > > > > also
>>>>>>> > > > > > > > >> the
>>>>>>> > > > > > > > >> > > same
>>>>>>> > > > > > > > >> > > > > > > > > qualifier for
>>>>>>> > > > > > > > >> > > > > > > > > >>> the Ignite instance. For the
>>>>>>> most part
>>>>>>> > > will
>>>>>>> > > > > just
>>>>>>> > > > > > > use
>>>>>>> > > > > > > > >> the
>>>>>>> > > > > > > > >> > > > > primary
>>>>>>> > > > > > > > >> > > > > > > bean
>>>>>>> > > > > > > > >> > > > > > > > > for
>>>>>>> > > > > > > > >> > > > > > > > > >>> most part. I think you can only
>>>>>>> have one
>>>>>>> > > > cache
>>>>>>> > > > > > > > >> instance
>>>>>>> > > > > > > > >> > > > active
>>>>>>> > > > > > > > >> > > > > > at a
>>>>>>> > > > > > > > >> > > > > > > > > time.
>>>>>>> > > > > > > > >> > > > > > > > > >>> The current way I have it setup
>>>>>>> is the
>>>>>>> > > > primary
>>>>>>> > > > > > > bean
>>>>>>> > > > > > > > is
>>>>>>> > > > > > > > >> > used
>>>>>>> > > > > > > > >> > > > by
>>>>>>> > > > > > > > >> > > > > > > > default
>>>>>>> > > > > > > > >> > > > > > > > > so
>>>>>>> > > > > > > > >> > > > > > > > > >>> you won't be able to use
>>>>>>> micronaut-cache
>>>>>>> > > > with
>>>>>>> > > > > > > > anything
>>>>>>> > > > > > > > >> > but
>>>>>>> > > > > > > > >> > > > the
>>>>>>> > > > > > > > >> > > > > > > > default
>>>>>>> > > > > > > > >> > > > > > > > > >>> bean. I guess one can override
>>>>>>> the other
>>>>>>> > > if
>>>>>>> > > > > the
>>>>>>> > > > > > > > >> > > configuration
>>>>>>> > > > > > > > >> > > > > is
>>>>>>> > > > > > > > >> > > > > > > > > present.
>>>>>>> > > > > > > > >> > > > > > > > > >>> One problem I see is
>>>>>>> micronaut-cache. We
>>>>>>> > > can
>>>>>>> > > > > > only
>>>>>>> > > > > > > > use
>>>>>>> > > > > > > > >> one
>>>>>>> > > > > > > > >> > > > > > instance
>>>>>>> > > > > > > > >> > > > > > > of
>>>>>>> > > > > > > > >> > > > > > > > > >>> DynamicCache but I need to
>>>>>>> verify how
>>>>>>> > that
>>>>>>> > > > > works
>>>>>>> > > > > > > > >> again.
>>>>>>> > > > > > > > >> > By
>>>>>>> > > > > > > > >> > > > > > default
>>>>>>> > > > > > > > >> > > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>> thick client instance will
>>>>>>> replace the
>>>>>>> > > > > > thin-client
>>>>>>> > > > > > > > >> > > > DynamicCache
>>>>>>> > > > > > > > >> > > > > > if
>>>>>>> > > > > > > > >> > > > > > > > that
>>>>>>> > > > > > > > >> > > > > > > > > >>> would be ok?
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > > >>> ignite:
>>>>>>> > > > > > > > >> > > > > > > > > >>>   thick-clients:
>>>>>>> > > > > > > > >> > > > > > > > > >>>    default: <--- primary bean
>>>>>>> > > > > > > > >> > > > > > > > > >>>      ...
>>>>>>> > > > > > > > >> > > > > > > > > >>>    second-bean:
>>>>>>> > > > > > > > >> > > > > > > > > >>>     ...
>>>>>>> > > > > > > > >> > > > > > > > > >>>  thin-clients:
>>>>>>> > > > > > > > >> > > > > > > > > >>>    default: <--- primary bean
>>>>>>> > > > > > > > >> > > > > > > > > >>>     ...
>>>>>>> > > > > > > > >> > > > > > > > > >>>    second-bean:
>>>>>>> > > > > > > > >> > > > > > > > > >>>    ....
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > https://docs.micronaut.io/latest/api/io/micronaut/
>>>>>>> > > > > > > > >> > > > > > > > context/annotation/Requires.html
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > > >>> On Tue, Aug 18, 2020 at 10:13
>>>>>>> PM Denis
>>>>>>> > > > Magda <
>>>>>>> > > > > > > > >> > > > > dma...@apache.org>
>>>>>>> > > > > > > > >> > > > > > > > > wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > oh, so we probably don't
>>>>>>> need to work
>>>>>>> > > > with
>>>>>>> > > > > > > > multiple
>>>>>>> > > > > > > > >> > > > > instances.
>>>>>>> > > > > > > > >> > > > > > > > This
>>>>>>> > > > > > > > >> > > > > > > > > >>>> is what
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > I have in the current master
>>>>>>> branch.
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> In most cases, people start a
>>>>>>> single
>>>>>>> > > > instance
>>>>>>> > > > > > of
>>>>>>> > > > > > > a
>>>>>>> > > > > > > > >> thick
>>>>>>> > > > > > > > >> > > or
>>>>>>> > > > > > > > >> > > > > thin
>>>>>>> > > > > > > > >> > > > > > > > > client
>>>>>>> > > > > > > > >> > > > > > > > > >>>> per
>>>>>>> > > > > > > > >> > > > > > > > > >>>> application. The clients are
>>>>>>> > > multi-threaded
>>>>>>> > > > > and
>>>>>>> > > > > > > can
>>>>>>> > > > > > > > >> > > utilize
>>>>>>> > > > > > > > >> > > > > all
>>>>>>> > > > > > > > >> > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > CPUs
>>>>>>> > > > > > > > >> > > > > > > > > >>>> effectively. However, it's not
>>>>>>> harmful
>>>>>>> > to
>>>>>>> > > > > have
>>>>>>> > > > > > > the
>>>>>>> > > > > > > > >> > ability
>>>>>>> > > > > > > > >> > > > to
>>>>>>> > > > > > > > >> > > > > > > > > configure
>>>>>>> > > > > > > > >> > > > > > > > > >>>> several clients per
>>>>>>> application. As far
>>>>>>> > > as
>>>>>>> > > > I
>>>>>>> > > > > > > > >> understand,
>>>>>>> > > > > > > > >> > > > > > Micronaut
>>>>>>> > > > > > > > >> > > > > > > > > >>>> distinguishes clients per the
>>>>>>> > > > > > > > >> > > > "IgniteClientConfiguration.name"
>>>>>>> > > > > > > > >> > > > > > > > > property,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> right?
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> So what defaults are set for
>>>>>>> > > > > > IgniteConfiguration?
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> Does it matter to Micronaut
>>>>>>> what those
>>>>>>> > > > > defaults
>>>>>>> > > > > > > > are?
>>>>>>> > > > > > > > >> By
>>>>>>> > > > > > > > >> > > > > looking
>>>>>>> > > > > > > > >> > > > > > at
>>>>>>> > > > > > > > >> > > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> IgniteThinClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> <
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > https://micronaut-projects.github.io/micronaut-ignite/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > snapshot/api/io/micronaut/ignite/configuration/
>>>>>>> > > > > > > > >> > > > > > > > IgniteThinClientConfiguration.html
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> that defines
>>>>>>> > > > > > > > >> > > > >
>>>>>>> org.apache.ignite.configuration.ClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> property
>>>>>>> > > > > > > > >> > > > > > > > > >>>> (under the name of
>>>>>>> "configuration"), I
>>>>>>> > > see
>>>>>>> > > > > that
>>>>>>> > > > > > > > >> > Micronaut
>>>>>>> > > > > > > > >> > > > > could
>>>>>>> > > > > > > > >> > > > > > > > > >>>> introspect
>>>>>>> > > > > > > > >> > > > > > > > > >>>> all the fields of the
>>>>>>> > ClientConfiguration
>>>>>>> > > > and
>>>>>>> > > > > > > > >> prepared
>>>>>>> > > > > > > > >> > > these
>>>>>>> > > > > > > > >> > > > > > > > > properties
>>>>>>> > > > > > > > >> > > > > > > > > >>>> table
>>>>>>> > > > > > > > >> > > > > > > > > >>>> <
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > https://micronaut-projects.github.io/micronaut-ignite/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > snapshot/guide/#io.micronaut.ignite.configuration.
>>>>>>> > > > > > > > >> > > > > > > > IgniteThinClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> For me, it means that whenever
>>>>>>> I am
>>>>>>> > > > > configuring
>>>>>>> > > > > > > the
>>>>>>> > > > > > > > >> thin
>>>>>>> > > > > > > > >> > > > > client
>>>>>>> > > > > > > > >> > > > > > > in a
>>>>>>> > > > > > > > >> > > > > > > > > >>>> YAML
>>>>>>> > > > > > > > >> > > > > > > > > >>>> file, Micronaut will create an
>>>>>>> instance
>>>>>>> > > of
>>>>>>> > > > > the
>>>>>>> > > > > > > > >> > > > > > ClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> (Ignite
>>>>>>> > > > > > > > >> > > > > > > > > >>>> sets the defaults), and then I
>>>>>>> can
>>>>>>> > > override
>>>>>>> > > > > > some
>>>>>>> > > > > > > > >> > settings
>>>>>>> > > > > > > > >> > > > such
>>>>>>> > > > > > > > >> > > > > > as
>>>>>>> > > > > > > > >> > > > > > > > > >>>> "addresses" or
>>>>>>> > > "enablePartitionAwareness".
>>>>>>> > > > > Does
>>>>>>> > > > > > > > this
>>>>>>> > > > > > > > >> > sound
>>>>>>> > > > > > > > >> > > > > > > accurate
>>>>>>> > > > > > > > >> > > > > > > > > >>>> concerning Micronaut?
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> Jumping back to the
>>>>>>> > IgniteConfiguration,
>>>>>>> > > I
>>>>>>> > > > > > would
>>>>>>> > > > > > > > just
>>>>>>> > > > > > > > >> > swap
>>>>>>> > > > > > > > >> > > > the
>>>>>>> > > > > > > > >> > > > > > > > "path"
>>>>>>> > > > > > > > >> > > > > > > > > >>>> that
>>>>>>> > > > > > > > >> > > > > > > > > >>>> is the String with the
>>>>>>> "config" that is
>>>>>>> > > > > > > > >> > > IgniteConfiguration.
>>>>>>> > > > > > > > >> > > > > > Then
>>>>>>> > > > > > > > >> > > > > > > > let
>>>>>>> > > > > > > > >> > > > > > > > > >>>> Ignite take care of the
>>>>>>> > > IgniteConfiguration
>>>>>>> > > > > > > > defaults
>>>>>>> > > > > > > > >> and
>>>>>>> > > > > > > > >> > > > > allow a
>>>>>>> > > > > > > > >> > > > > > > > > >>>> developer
>>>>>>> > > > > > > > >> > > > > > > > > >>>> to override some defaults
>>>>>>> (such as
>>>>>>> > > > > > > > >> discoverySPI.ipFinder
>>>>>>> > > > > > > > >> > > or
>>>>>>> > > > > > > > >> > > > > > memory
>>>>>>> > > > > > > > >> > > > > > > > > >>>> settings). Just in case, you
>>>>>>> can find
>>>>>>> > > > > > > > >> > IgniteConfiguration
>>>>>>> > > > > > > > >> > > > > > defaults
>>>>>>> > > > > > > > >> > > > > > > > > here
>>>>>>> > > > > > > > >> > > > > > > > > >>>> <
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > https://github.com/apache/ignite/blob/master/modules/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > core/src/main/java/org/apache/ignite/configuration/
>>>>>>> > > > > > > > >> > > > > > > > IgniteConfiguration.java
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> .
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> -
>>>>>>> > > > > > > > >> > > > > > > > > >>>> Denis
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> On Tue, Aug 18, 2020 at 8:59
>>>>>>> PM Michael
>>>>>>> > > > > > Pollind <
>>>>>>> > > > > > > > >> > > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > oh, so we probably don't
>>>>>>> need to work
>>>>>>> > > > with
>>>>>>> > > > > > > > multiple
>>>>>>> > > > > > > > >> > > > > instances.
>>>>>>> > > > > > > > >> > > > > > > > This
>>>>>>> > > > > > > > >> > > > > > > > > >>>> is what
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > I have in the current master
>>>>>>> branch.
>>>>>>> > I
>>>>>>> > > > > > believe
>>>>>>> > > > > > > I
>>>>>>> > > > > > > > >> was
>>>>>>> > > > > > > > >> > > > > > originally
>>>>>>> > > > > > > > >> > > > > > > > > >>>> trying to
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > set-up the configuration
>>>>>>> with the
>>>>>>> > > default
>>>>>>> > > > > > > ignite
>>>>>>> > > > > > > > >> > > instance
>>>>>>> > > > > > > > >> > > > > but
>>>>>>> > > > > > > > >> > > > > > > > found
>>>>>>> > > > > > > > >> > > > > > > > > I
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > couldn't cover enough of the
>>>>>>> > > > configuration.
>>>>>>> > > > > > So
>>>>>>> > > > > > > > what
>>>>>>> > > > > > > > >> > > > defaults
>>>>>>> > > > > > > > >> > > > > > are
>>>>>>> > > > > > > > >> > > > > > > > set
>>>>>>> > > > > > > > >> > > > > > > > > >>>> for
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > IgniteConfiguration? some of
>>>>>>> those
>>>>>>> > > > factory
>>>>>>> > > > > > > items
>>>>>>> > > > > > > > >> can't
>>>>>>> > > > > > > > >> > > be
>>>>>>> > > > > > > > >> > > > > > > covered
>>>>>>> > > > > > > > >> > > > > > > > > >>>> with how
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > micronaut sets up
>>>>>>> configurations.
>>>>>>> > > > > > > > >> > @ConfigurationProperty
>>>>>>> > > > > > > > >> > > > can
>>>>>>> > > > > > > > >> > > > > > > only
>>>>>>> > > > > > > > >> > > > > > > > be
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > defined on a known factory,
>>>>>>> there are
>>>>>>> > > > ways
>>>>>>> > > > > to
>>>>>>> > > > > > > > have
>>>>>>> > > > > > > > >> > > > multiple
>>>>>>> > > > > > > > >> > > > > > > > > factories
>>>>>>> > > > > > > > >> > > > > > > > > >>>> and
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > label them optional but that
>>>>>>> easily
>>>>>>> > > gets
>>>>>>> > > > > > > > >> overwhelming.
>>>>>>> > > > > > > > >> > > In
>>>>>>> > > > > > > > >> > > > > > this
>>>>>>> > > > > > > > >> > > > > > > > > >>>> situation
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > providing your own bean would
>>>>>>> > probably
>>>>>>> > > be
>>>>>>> > > > > > more
>>>>>>> > > > > > > > >> ideal
>>>>>>> > > > > > > > >> > in
>>>>>>> > > > > > > > >> > > > this
>>>>>>> > > > > > > > >> > > > > > > > > >>>> situation when
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > I think about it.  I was
>>>>>>> worrying
>>>>>>> > that
>>>>>>> > > I
>>>>>>> > > > > > > wouldn't
>>>>>>> > > > > > > > >> be
>>>>>>> > > > > > > > >> > > able
>>>>>>> > > > > > > > >> > > > to
>>>>>>> > > > > > > > >> > > > > > > cover
>>>>>>> > > > > > > > >> > > > > > > > > >>>> enough
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > of the configuration with
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > ignite:  enabled: true
>>>>>>> thin-clients:
>>>>>>> > > > > > > default:
>>>>>>> > > > > > > > >> > > > > > address:
>>>>>>> > > > > > > > >> > > > > > > > >   -
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > "127.0.0.1:10800"      - "
>>>>>>> > > > 127.0.0.1:10801"
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >     thin-client-2:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >       address:      - "
>>>>>>> > 127.0.0.1:10800
>>>>>>> > > "
>>>>>>> > > > > > > - "
>>>>>>> > > > > > > > >> > > > > > 127.0.0.1:10801
>>>>>>> > > > > > > > >> > > > > > > "
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > you can see it in the current
>>>>>>> > snapshot
>>>>>>> > > > > > > > >> documentation:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > >
>>>>>>> > > > >
>>>>>>> >
>>>>>>> https://micronaut-projects.github.io/micronaut-ignite/snapshot/guide/
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > On Tue, Aug 18, 2020 at 4:16
>>>>>>> PM Denis
>>>>>>> > > > > Magda <
>>>>>>> > > > > > > > >> > > > > > dma...@apache.org>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > Michael, thanks for
>>>>>>> filling out the
>>>>>>> > > > wiki
>>>>>>> > > > > > > page.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > I'm looking at the
>>>>>>> > Auto-Configuration
>>>>>>> > > > > wiki
>>>>>>> > > > > > > > >> section
>>>>>>> > > > > > > > >> > and
>>>>>>> > > > > > > > >> > > > the
>>>>>>> > > > > > > > >> > > > > > > > current
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > version
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > of the
>>>>>>> > > > io.micronaut.ignite.configuration.
>>>>>>> > > > > > > > >> > > > > > > > IgniteClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > https://github.com/micronaut-projects/micronaut-ignite/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > blob/master/ignite-core/src/main/java/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > configuration/
>>>>>>> > > > > > > > >> > > > > > > > IgniteClientConfiguration.java
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > class,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > and wonder if we can
>>>>>>> perform the
>>>>>>> > > > > following
>>>>>>> > > > > > > > >> changes:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    1. Rename the
>>>>>>> > > > > IgniteClientConfiguration
>>>>>>> > > > > > to
>>>>>>> > > > > > > > >> > > > > > > > IgniteConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> (or, to
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    avoid ambiguity, even to
>>>>>>> > > > > > > > >> > DefaultIgniteConfiguration
>>>>>>> > > > > > > > >> > > > as
>>>>>>> > > > > > > > >> > > > > > it's
>>>>>>> > > > > > > > >> > > > > > > > > done
>>>>>>> > > > > > > > >> > > > > > > > > >>>> for
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    Mongo driver
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > https://micronaut-projects.github.io/micronaut-mongodb/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > latest/api/io/micronaut/configuration/mongo/reactive/
>>>>>>> > > > > > > > >> > > > > > > > DefaultMongoConfiguration.html
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >).
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    The rationale for this
>>>>>>> change is
>>>>>>> > > > that
>>>>>>> > > > > > the
>>>>>>> > > > > > > > >> > > developers
>>>>>>> > > > > > > > >> > > > > > might
>>>>>>> > > > > > > > >> > > > > > > > need
>>>>>>> > > > > > > > >> > > > > > > > > >>>> to
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > start an embedded
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    Ignite server node
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://www.gridgain.com/docs/latest/installation-guide/
>>>>>>> > > > > > > > >> > > > > > > > deployment-modes#embedded-deployment
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    So, I would not limit
>>>>>>> the
>>>>>>> > > > integration
>>>>>>> > > > > > > scope
>>>>>>> > > > > > > > to
>>>>>>> > > > > > > > >> > the
>>>>>>> > > > > > > > >> > > > > Ignite
>>>>>>> > > > > > > > >> > > > > > > > > clients
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > only.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    2. Presently,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > io.micronaut.ignite.configuration.IgniteClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    supports two parameters
>>>>>>> - the
>>>>>>> > > "name"
>>>>>>> > > > > and
>>>>>>> > > > > > > > >> "path".
>>>>>>> > > > > > > > >> > I
>>>>>>> > > > > > > > >> > > > > would
>>>>>>> > > > > > > > >> > > > > > > > > replace
>>>>>>> > > > > > > > >> > > > > > > > > >>>> the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > "path"
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    parameter with the
>>>>>>> "config" one
>>>>>>> > > that
>>>>>>> > > > > > > > >> instantiates
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > org.apache.ignite.IgniteConfiguration.
>>>>>>> > > > > > If
>>>>>>> > > > > > > we
>>>>>>> > > > > > > > >> do
>>>>>>> > > > > > > > >> > > that,
>>>>>>> > > > > > > > >> > > > > > then
>>>>>>> > > > > > > > >> > > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > developers
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    will be able to set any
>>>>>>> property
>>>>>>> > > of
>>>>>>> > > > > the
>>>>>>> > > > > > > > >> > > > > > IgniteConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> straight
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > in
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    main YAML file. See how
>>>>>>> it's
>>>>>>> > done
>>>>>>> > > > for
>>>>>>> > > > > > the
>>>>>>> > > > > > > > >> Ignite
>>>>>>> > > > > > > > >> > > > Spring
>>>>>>> > > > > > > > >> > > > > > > Boot
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    Auto-Configuration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > https://apacheignite-mix.readme.io/docs/spring-boot#
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> set-ignite-up-via-spring-boot-configuration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    Guess, we can do the
>>>>>>> same with
>>>>>>> > > > > > Micronaut.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    3. If the previous
>>>>>>> modification
>>>>>>> > is
>>>>>>> > > > > > > feasible,
>>>>>>> > > > > > > > >> > then I
>>>>>>> > > > > > > > >> > > > > would
>>>>>>> > > > > > > > >> > > > > > > > > rework
>>>>>>> > > > > > > > >> > > > > > > > > >>>> the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    Ignite thin client
>>>>>>> configuration
>>>>>>> > > > > > > similarly,
>>>>>>> > > > > > > > >> > taking
>>>>>>> > > > > > > > >> > > > our
>>>>>>> > > > > > > > >> > > > > > > Spring
>>>>>>> > > > > > > > >> > > > > > > > > >>>> Boot
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    integration for the
>>>>>>> thin client
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > https://apacheignite-mix.readme.io/docs/spring-boot#
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > set-thin-client-up-via-spring-boot-configuration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    as a reference. As I
>>>>>>> see, the
>>>>>>> > > > current
>>>>>>> > > > > > > > version
>>>>>>> > > > > > > > >> of
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> IgniteThinClientConfiguration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > https://github.com/micronaut-projects/micronaut-ignite/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > > > > >> > > > > >
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > blob/master/ignite-core/src/main/java/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > configuration/
>>>>>>> > > > > > > > >> > > > > > > > IgniteThinClientConfiguration.java
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > already
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    adopts this approach. I
>>>>>>> would
>>>>>>> > only
>>>>>>> > > > > > rename
>>>>>>> > > > > > > > >> > > > > "configuration"
>>>>>>> > > > > > > > >> > > > > > > to
>>>>>>> > > > > > > > >> > > > > > > > > >>>> "config",
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > and
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    remove the
>>>>>>> "transaction" field
>>>>>>> > > since
>>>>>>> > > > > you
>>>>>>> > > > > > > can
>>>>>>> > > > > > > > >> pass
>>>>>>> > > > > > > > >> > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> transactional
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >    settings via the YAML
>>>>>>> following
>>>>>>> > > the
>>>>>>> > > > > > format
>>>>>>> > > > > > > > >> below:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > ignite-thin-client:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >     name:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >     config:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >         addresses:
>>>>>>> <IP_addresses>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>>  partitionAwarenessEnabled:
>>>>>>> > > true
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>>  transactionConfiguration:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> >  defaultTxConcurrency:...
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>>  defaultTxTimeout
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > -
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > Denis
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > On Mon, Aug 17, 2020 at
>>>>>>> 6:50 PM
>>>>>>> > > Michael
>>>>>>> > > > > > > > Pollind <
>>>>>>> > > > > > > > >> > > > > > > > > mpoll...@gmail.com
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > oh, that makes more
>>>>>>> sense. so
>>>>>>> > those
>>>>>>> > > > > > methods
>>>>>>> > > > > > > > get
>>>>>>> > > > > > > > >> > > > wrapped
>>>>>>> > > > > > > > >> > > > > > > into a
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > micronaut-aop intercept.
>>>>>>> Below
>>>>>>> > I've
>>>>>>> > > > > > listed
>>>>>>> > > > > > > > the
>>>>>>> > > > > > > > >> > > > relevant
>>>>>>> > > > > > > > >> > > > > > > > sections
>>>>>>> > > > > > > > >> > > > > > > > > >>>> of
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > code
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > that would handle each
>>>>>>> annotation
>>>>>>> > > > along
>>>>>>> > > > > > > with
>>>>>>> > > > > > > > >> the
>>>>>>> > > > > > > > >> > > > methods
>>>>>>> > > > > > > > >> > > > > > > that
>>>>>>> > > > > > > > >> > > > > > > > > get
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > called
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > from the ignite branch
>>>>>>> I'm
>>>>>>> > working
>>>>>>> > > > > from.
>>>>>>> > > > > > > > >> Hopefully
>>>>>>> > > > > > > > >> > > > this
>>>>>>> > > > > > > > >> > > > > > > helps.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> The key
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > is
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > specified from the
>>>>>>> CacheConfig
>>>>>>> > > > > annotation
>>>>>>> > > > > > > but
>>>>>>> > > > > > > > >> this
>>>>>>> > > > > > > > >> > > can
>>>>>>> > > > > > > > >> > > > > be
>>>>>>> > > > > > > > >> > > > > > > > > changed
>>>>>>> > > > > > > > >> > > > > > > > > >>>> if
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > there
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > is a better way to
>>>>>>> represent the
>>>>>>> > > key.
>>>>>>> > > > > By
>>>>>>> > > > > > > > >> default
>>>>>>> > > > > > > > >> > it
>>>>>>> > > > > > > > >> > > > uses
>>>>>>> > > > > > > > >> > > > > > > this
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > DefaultCacheKeyGenerator(
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >>
>>>>>>> https://github.com/micronaut-projects/micronaut-cache/blob/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > master/cache-core/src/main/java/io/micronaut/cache/
>>>>>>> > > > > > > > >> > interceptor/
>>>>>>> > > > > > > > >> > > > > > > > DefaultCacheKeyGenerator.java
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > ).
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > I also finished up this
>>>>>>> document
>>>>>>> > on
>>>>>>> > > > > > sunday:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >> > > > > > >
>>>>>>> > > > > > > > >> > > > >
>>>>>>> > > > > > > > >> > >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > >
>>>>>>> > > > > >
>>>>>>> > > >
>>>>>>> >
>>>>>>> https://cwiki.apache.org/confluence/display/IGNITE/Micronaut+Integration
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > .
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > Any suggestions with
>>>>>>> what I could
>>>>>>> > > > > expand
>>>>>>> > > > > > on
>>>>>>> > > > > > > > and
>>>>>>> > > > > > > > >> > how
>>>>>>> > > > > > > > >> > > > this
>>>>>>> > > > > > > > >> > > > > > > could
>>>>>>> > > > > > > > >> > > > > > > > > be
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > adjusted.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > Cacheable:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > For Cacheable it will
>>>>>>> run a get
>>>>>>> > and
>>>>>>> > > > > > issue a
>>>>>>> > > > > > > > >> put if
>>>>>>> > > > > > > > >> > > the
>>>>>>> > > > > > > > >> > > > > > value
>>>>>>> > > > > > > > >> > > > > > > > is
>>>>>>> > > > > > > > >> > > > > > > > > >>>> not
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > present
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > in the cache.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > -> micronaut-cache:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >>
>>>>>>> https://github.com/micronaut-projects/micronaut-cache/blob/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > master/cache-core/src/main/java/io/micronaut/cache/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> interceptor/CacheInterceptor.java#L163-L170
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > -> ignite-cache:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >   get:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > rework/ignite-cache/src/main/java/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > > > > > > > IgniteSyncCache.java#L60-L70
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > CachePut:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > For cache put it will
>>>>>>> invalidate
>>>>>>> > if
>>>>>>> > > > the
>>>>>>> > > > > > > > return
>>>>>>> > > > > > > > >> is
>>>>>>> > > > > > > > >> > > null
>>>>>>> > > > > > > > >> > > > > > else
>>>>>>> > > > > > > > >> > > > > > > it
>>>>>>> > > > > > > > >> > > > > > > > > >>>> will
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > issue a
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > put. I think there might
>>>>>>> be a
>>>>>>> > > mistake
>>>>>>> > > > > in
>>>>>>> > > > > > my
>>>>>>> > > > > > > > >> code
>>>>>>> > > > > > > > >> > > > > because I
>>>>>>> > > > > > > > >> > > > > > > use
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > putIfAbsent
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > for both cases. I need to
>>>>>>> > > investigate
>>>>>>> > > > > > that
>>>>>>> > > > > > > > >> closer
>>>>>>> > > > > > > > >> > > and
>>>>>>> > > > > > > > >> > > > > > write
>>>>>>> > > > > > > > >> > > > > > > > some
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > additional
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > test cases to verify the
>>>>>>> > behaviour.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > --> micronaut-cache:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >>
>>>>>>> https://github.com/micronaut-projects/micronaut-cache/blob/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > master/cache-core/src/main/java/io/micronaut/cache/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> interceptor/CacheInterceptor.java#L510-L525
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > -> ignite-cache:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > put:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > rework/ignite-cache/src/main/java/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > > > > > > > IgniteSyncCache.java#L83-L88
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > invalidate:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > rework/ignite-cache/src/main/java/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > > > > > > > IgniteSyncCache.java#L91-L95
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > CacheInvalidate:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > for cache invalidation
>>>>>>> it will
>>>>>>> > just
>>>>>>> > > > be
>>>>>>> > > > > > > > removed
>>>>>>> > > > > > > > >> by
>>>>>>> > > > > > > > >> > > the
>>>>>>> > > > > > > > >> > > > > key.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > --> micronaut-cache:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > > >>
>>>>>>> https://github.com/micronaut-projects/micronaut-cache/blob/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > master/cache-core/src/main/java/io/micronaut/cache/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> interceptor/CacheInterceptor.java#L590-L596
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > -> ignite-cache:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > invalidate:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> >
>>>>>>> > > > > > > > >> > > > > > > > > >>>>
>>>>>>> > > > > > > > >> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> https://github.com/pollend/micronaut-ignite/blob/feature/
>>>>>>> > > > > > > > >> > > > > > > >
>>>>>>> > > > > rework/ignite-cache/src/main/java/io/micronaut/ignite/
>>>>>>> > > > > > > > >> > > > > > > > IgniteSyncCache.java#L91-L95
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > On Mon, Aug 17, 2020 at
>>>>>>> 5:23 PM
>>>>>>> > > > Saikat
>>>>>>> > > > > > > > Maitra <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> saikat.mai...@gmail.com
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > Hi Michael,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > In the Example
>>>>>>> Cacheable Object
>>>>>>> > > you
>>>>>>> > > > > are
>>>>>>> > > > > > > > using
>>>>>>> > > > > > > > >> > > > > @CachePut,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> @Cacheable
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > annotations and
>>>>>>> > @CacheInvalidate
>>>>>>> > > > > > > > annotations
>>>>>>> > > > > > > > >> > and I
>>>>>>> > > > > > > > >> > > > was
>>>>>>> > > > > > > > >> > > > > > > > trying
>>>>>>> > > > > > > > >> > > > > > > > > to
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > understand
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > when user use these
>>>>>>> annotation
>>>>>>> > > then
>>>>>>> > > > > > what
>>>>>>> > > > > > > > >> would
>>>>>>> > > > > > > > >> > be
>>>>>>> > > > > > > > >> > > > the
>>>>>>> > > > > > > > >> > > > > > > > > underlying
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > Ignite
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > operation that will
>>>>>>> happen? and
>>>>>>> > > how
>>>>>>> > > > > > those
>>>>>>> > > > > > > > >> > > operations
>>>>>>> > > > > > > > >> > > > > are
>>>>>>> > > > > > > > >> > > > > > > > > >>>> performed?
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > An example like when
>>>>>>> user call
>>>>>>> > > this
>>>>>>> > > > > > below
>>>>>>> > > > > > > > >> method
>>>>>>> > > > > > > > >> > > > then
>>>>>>> > > > > > > > >> > > > > > how
>>>>>>> > > > > > > > >> > > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> result
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > of
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > getValue is cached?
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > @Cacheable
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >     int
>>>>>>> getValue(String name) {
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >         return
>>>>>>> > > > > > > > >> counters.computeIfAbsent(name, {
>>>>>>> > > > > > > > >> > 0
>>>>>>> > > > > > > > >> > > })
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >     }
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > Regards,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > Saikat
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > On Sat, Aug 15, 2020
>>>>>>> at 7:21 PM
>>>>>>> > > > > Michael
>>>>>>> > > > > > > > >> Pollind
>>>>>>> > > > > > > > >> > <
>>>>>>> > > > > > > > >> > > > > > > > > >>>> mpoll...@gmail.com>
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > wrote:
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > when you mean these
>>>>>>> > annotations
>>>>>>> > > > do
>>>>>>> > > > > > you
>>>>>>> > > > > > > > mean
>>>>>>> > > > > > > > >> > this
>>>>>>> > > > > > > > >> > > > > would
>>>>>>> > > > > > > > >> > > > > > > > need
>>>>>>> > > > > > > > >> > > > > > > > > >>>> to be
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > implemented in
>>>>>>> ignite?
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > The project at the
>>>>>>> moment is
>>>>>>> > > > split
>>>>>>> > > > > > into
>>>>>>> > > > > > > > >> > multiple
>>>>>>> > > > > > > > >> > > > > > > modules.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > ignite-core,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > ignite-cache, etc
>>>>>>> ... The
>>>>>>> > plan
>>>>>>> > > > was
>>>>>>> > > > > to
>>>>>>> > > > > > > > also
>>>>>>> > > > > > > > >> > have
>>>>>>> > > > > > > > >> > > > > > > > ignite-data
>>>>>>> > > > > > > > >> > > > > > > > > >>>> but
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > that
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > will
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > take a bit of work
>>>>>>> to get
>>>>>>> > > working
>>>>>>> > > > > > > > correctly
>>>>>>> > > > > > > > >> > but
>>>>>>> > > > > > > > >> > > > the
>>>>>>> > > > > > > > >> > > > > > > basic
>>>>>>> > > > > > > > >> > > > > > > > > >>>> config is
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > mostly
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > done. The plan is
>>>>>>> also to
>>>>>>> > > verify
>>>>>>> > > > > the
>>>>>>> > > > > > > API
>>>>>>> > > > > > > > >> > > described
>>>>>>> > > > > > > > >> > > > > in
>>>>>>> > > > > > > > >> > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> wiki and
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > make
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > sure this is what
>>>>>>> would work
>>>>>>> > > > best.
>>>>>>> > > > > At
>>>>>>> > > > > > > the
>>>>>>> > > > > > > > >> > moment
>>>>>>> > > > > > > > >> > > > I'm
>>>>>>> > > > > > > > >> > > > > > > > missing
>>>>>>> > > > > > > > >> > > > > > > > > >>>> an
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > implementation for
>>>>>>> the
>>>>>>> > > thin-cache
>>>>>>> > > > > and
>>>>>>> > > > > > > how
>>>>>>> > > > > > > > >> that
>>>>>>> > > > > > > > >> > > > would
>>>>>>> > > > > > > > >> > > > > > fit
>>>>>>> > > > > > > > >> > > > > > > > > into
>>>>>>> > > > > > > > >> > > > > > > > > >>>> this
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > scheme.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > I've removed it due
>>>>>>> to the
>>>>>>> > > added
>>>>>>> > > > > > > > complexity
>>>>>>> > > > > > > > >> > but
>>>>>>> > > > > > > > >> > > > I'm
>>>>>>> > > > > > > > >> > > > > > sure
>>>>>>> > > > > > > > >> > > > > > > > > >>>> something
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > could
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > be
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > arranged that would
>>>>>>> work.
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > >
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > For Ignite-cache, I
>>>>>>> have it
>>>>>>> > as
>>>>>>> > > a
>>>>>>> > > > > > > separate
>>>>>>> > > > > > > > >> > module
>>>>>>> > > > > > > > >> > > > > that
>>>>>>> > > > > > > > >> > > > > > > can
>>>>>>> > > > > > > > >> > > > > > > > be
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > optionally
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > included in a
>>>>>>> micronaut
>>>>>>> > project
>>>>>>> > > > > where
>>>>>>> > > > > > > > this
>>>>>>> > > > > > > > >> > > module
>>>>>>> > > > > > > > >> > > > > also
>>>>>>> > > > > > > > >> > > > > > > > has a
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > dependency
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > on
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > micronaut-cache. The
>>>>>>> > AsyncCache
>>>>>>> > > > and
>>>>>>> > > > > > > > >> SyncCache
>>>>>>> > > > > > > > >> > > are
>>>>>>> > > > > > > > >> > > > > the
>>>>>>> > > > > > > > >> > > > > > > two
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > interfaces
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > that
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > micronaut-cache
>>>>>>> defines.
>>>>>>> > There
>>>>>>> > > > are
>>>>>>> > > > > > two
>>>>>>> > > > > > > > >> ways to
>>>>>>> > > > > > > > >> > > > > define
>>>>>>> > > > > > > > >> > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > implementation,
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > you can either
>>>>>>> provide beans
>>>>>>> > > for
>>>>>>> > > > > > > > AsyncCache
>>>>>>> > > > > > > > >> > and
>>>>>>> > > > > > > > >> > > > > > > SyncCache
>>>>>>> > > > > > > > >> > > > > > > > > but
>>>>>>> > > > > > > > >> > > > > > > > > >>>> they
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > also
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > define a
>>>>>>> DynamicCacheManager
>>>>>>> > > that
>>>>>>> > > > > > will
>>>>>>> > > > > > > > use
>>>>>>> > > > > > > > >> the
>>>>>>> > > > > > > > >> > > > name
>>>>>>> > > > > > > > >> > > > > of
>>>>>>> > > > > > > > >> > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > > > >>>> instance
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > to
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > refer to the name of
>>>>>>> the
>>>>>>> > cache
>>>>>>> > > > > used.
>>>>>>> > > > > > In
>>>>>>> > > > > > > > the
>>>>>>> > > > > > > > >> > > > > > > documentation
>>>>>>> > > > > > > > >> > > > > > > > I
>>>>>>> > > > > > > > >> > > > > > > > > >>>> believe
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > for
>>>>>>> > > > > > > > >> > > > > > > > > >>>> > > > > > Teracotta you give a
>>>>>>> list of
>>>>>>> > > > caches
>>>>>>> > > > > > you
>>>>>>> > > > > > > > >> want
>>>>>>> > > > > > > > >> > and
>>>>>>> > > > > > > > >> > > >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >> >
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >> --
>>>>>>> > > > > > > > >> -
>>>>>>> > > > > > > > >> Denis
>>>>>>> > > > > > > > >>
>>>>>>> > > > > > > > >
>>>>>>> > > > > > > >
>>>>>>> > > > > > >
>>>>>>> > > > > >
>>>>>>> > > > >
>>>>>>> > > >
>>>>>>> > >
>>>>>>> >
>>>>>>>
>>>>>>

Reply via email to