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 Hazelcast
> > >>>> > implements
> > >>>> > > > the
> > >>>> > > > > > DynamicCacheManager. you can see that in the yaml
> > >>>> configuration in
> > >>>> > > > > > micronaut documentation where a list of cache names are
> > >>>> provided
> > >>>> > > along
> > >>>> > > > > with
> > >>>> > > > > > a configuration. Something similar can also be setup
> where a
> > >>>> list
> > >>>> > of
> > >>>> > > > > > implementations from the yaml can be mapped to a
> > >>>> configuration if
> > >>>> > > that
> > >>>> > > > > > would be more ideal.
> > >>>> > > > > >
> > >>>> > > > > >
> > >>>> > > > > >
> > >>>> > > > >
> > >>>> > > >
> > >>>> > >
> > >>>> >
> > >>>>
> > https://github.com/pollend/micronaut-ignite/tree/feature/
> rework/ignite-cache/src/main/java/io/micronaut/ignite
> > >>>> > > > > >
> > >>>> > > > > > On Sat, Aug 15, 2020 at 4:10 PM Saikat Maitra <
> > >>>> > > saikat.mai...@gmail.com
> > >>>> > > > >
> > >>>> > > > > > wrote:
> > >>>> > > > > >
> > >>>> > > > > > > Hi Michael,
> > >>>> > > > > > >
> > >>>> > > > > > > Welcome to the Ignite community!!!
> > >>>> > > > > > >
> > >>>> > > > > > > Please feel free to reach out if you have any questions
> > with
> > >>>> > > respect
> > >>>> > > > to
> > >>>> > > > > > > Ignite Integration.
> > >>>> > > > > > >
> > >>>> > > > > > > I had a question specific to integration and wanted to
> ask
> > >>>> if
> > >>>> > these
> > >>>> > > > > > > annotations also need to be implemented for the
> > >>>> micronaut-ignite
> > >>>> > > > > > > integration.
> > >>>> > > > > > >
> > >>>> > > > > > > @Cacheable - Indicates a method is cacheable within the
> > >>>> given
> > >>>> > cache
> > >>>> > > > > name
> > >>>> > > > > > > @CachePut - Indicates that the return value of a method
> > >>>> > invocation
> > >>>> > > > > should
> > >>>> > > > > > > be cached. Unlike @Cacheable the original operation is
> > never
> > >>>> > > skipped.
> > >>>> > > > > > > @CacheInvalidate - Indicates the invocation of a method
> > >>>> should
> > >>>> > > cause
> > >>>> > > > > the
> > >>>> > > > > > > invalidation of one or many caches.
> > >>>> > > > > > >
> > >>>> > > > > > > Denis - Thank you for sharing the details in dev list,
> it
> > >>>> great
> > >>>> > to
> > >>>> > > > > learn
> > >>>> > > > > > > about micronaut-ignite module.
> > >>>> > > > > > >
> > >>>> > > > > > > Regards,
> > >>>> > > > > > > Saikat
> > >>>> > > > > > >
> > >>>> > > > > > > On Sat, Aug 15, 2020 at 12:35 AM Michael Pollind <
> > >>>> > > mpoll...@gmail.com
> > >>>> > > > >
> > >>>> > > > > > > wrote:
> > >>>> > > > > > >
> > >>>> > > > > > > > Here is the page that i've stubbed out:
> > >>>> > > > > > > >
> > >>>> > > > > >
> > >>>> > > >
> > >>>> >
> > >>>>
> > https://cwiki.apache.org/confluence/display/IGNITE/Micronaut+Integration
> > >>>> > > > > > > >
> > >>>> > > > > > > > I'll start trying to fill out some of the details over
> > >>>> the next
> > >>>> > > few
> > >>>> > > > > > days
> > >>>> > > > > > > > and we can go from there.
> > >>>> > > > > > > >
> > >>>> > > > > > > > On Fri, Aug 14, 2020 at 2:47 PM Denis Magda <
> > >>>> dma...@apache.org
> > >>>> > >
> > >>>> > > > > wrote:
> > >>>> > > > > > > >
> > >>>> > > > > > > > > You're in, now you can create wiki pages in the
> Ignite
> > >>>> > > namespace.
> > >>>> > > > > > > > >
> > >>>> > > > > > > > > Also, please subscribe to the list by sending a note
> > to
> > >>>> the
> > >>>> > > > > > > > > dev-subscr...@ignite.apache.org address. Otherwise,
> > we
> > >>>> need
> > >>>> > to
> > >>>> > > > > > approve
> > >>>> > > > > > > > > every email you send.
> > >>>> > > > > > > > >
> > >>>> > > > > > > > > -
> > >>>> > > > > > > > > Denis
> > >>>> > > > > > > > >
> > >>>> > > > > > > > >
> > >>>> > > > > > > > > On Fri, Aug 14, 2020 at 2:43 PM Michael Pollind <
> > >>>> > > > > mpoll...@gmail.com>
> > >>>> > > > > > > > > wrote:
> > >>>> > > > > > > > >
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >> here is the link:
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >>
> > >>>> > > > > > > >
> > >>>> > > > > > >
> > >>>> > > > > >
> > >>>> > > > >
> > >>>> > > >
> > >>>> > >
> > >>>> >
> > >>>>
> > https://cwiki.apache.org/confluence/users/viewuserprofile.action?
> username=mpollind
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >> Here is the work in progress pull request that I've
> > put
> > >>>> > > > together:
> > >>>> > > > > > > > >>
> > >>>> > > https://github.com/micronaut-projects/micronaut-ignite/pull/33
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >> --
> > >>>> > > > > > > > >> Sent from:
> > >>>> > > > http://apache-ignite-developers.2346864.n4.nabble.com/
> > >>>> > > > > > > > >>
> > >>>> > > > > > > > >
> > >>>> > > > > > > >
> > >>>> > > > > > >
> > >>>> > > > > >
> > >>>> > > > >
> > >>>> > > >
> > >>>> > >
> > >>>> >
> > >>>>
> > >>>
> >
>


-- 
-
Denis

Reply via email to