Hi Nikolay,

Thank you for your email. As part of Ignite Extensions migration we are
migrating Ignite Extensions to following repo.

https://github.com/apache/ignite-extensions

We have added flink and pub-sub modules and few additional modules are open
in PR.

You can refer to this PR to see how we are migrating the modules
https://github.com/apache/ignite-extensions/pull/5

I wanted to connect and discuss the changes to understand the spring boot
auto configure feature. We currently have an ignite spring module that
allows resource injection capabilities and provides a parser for Spring
based xml configuration files. Can you please review and share if the
changes you are proposing can be added as part of Ignite spring module or
it make sense to make it a separate spring boot auto configure module.

https://github.com/apache/ignite/tree/master/modules/spring

Regards,
Saikat







On Fri, Jan 17, 2020 at 3:12 AM Николай Ижиков <nizhi...@apache.org> wrote:

> Tests added.
> Please, review.
>
> Saikat, can you help with this PR [1]?
>
> I think it should be added as a separate module as we do with the flink
> integration.
> Can you help me with it?
> Do we have some how-to for it?
>
> [1] https://github.com/apache/ignite/pull/7237
>
> > 16 янв. 2020 г., в 16:51, Николай Ижиков <nizhikov....@gmail.com>
> написал(а):
> >
> > Hello, Denis.
> >
> > Thanks, for the feedback.
> >
> > Alexey, it seems, PR is ready to be reviewed, but I need some time(a day
> or two) to write tests.
> > You can start with the core code review if you wish.
> >
> > Here are autoconfigurer requirements:
> >
> > 1. Start usage of Ignite with minimal(or zero) configuration.
> > 2. Configure Ignite configuration properties with the standard spring
> boot application properties.
> > 3. Configure Ignite SPI implementation and so on that can’t be
> configured via #2.
> >
> > After some consultation with the Spring experts from the community(Maxim
> Stepachev thanks for the idea)
> > I updated the PR with the logic described below:
> >
> > 1. To enable Ignite auto-configuration user should add
> `org.apache.ignite:spring-boot-ignite-autoconfigure:2.9.0` to dependencies.
> >    After it Ignite node will be started during spring-boot application
> startup.
> >
> > 2. IgniteConfiguration initialization logic:
> >
> > 2.1 If {@link IgniteConfiguration} bean exists in {@link BeanFactory} it
> will be used for the node start.
> > 2.2 If {@link IgniteConfiguration} bean doesn't exist following rules
> are applied:
> >  * Newly introducer IgniteConfigurer bean will be used to customize an
> empty IgniteConfiguration instance.
> >    If a user wants to set custom SPI instances or similar hardcoded
> values one should do it IgniteConfigurer implementation.
> >
> >  * Application properties will override config values. Prefix for
> properties names is "ignite».
> >
> > PS. Similar logic applied for the second module -
> `org.apache.ignite:spring-boot-ignite-client-autoconfigure:2.9.0`.
> > It provides the same features but for the autoconfiguration of the
> IgniteClient
> >
> >
> >> 15 янв. 2020 г., в 03:03, Denis Magda <dma...@apache.org> написал(а):
> >>
> >> Nikolay,
> >>
> >> Thanks for contributing in this direction! That's one of the gaps on our
> >> end and the user community will be certainly thankful once we fill it
> in.
> >>
> >> *Alexey Kuznetsov*, as one of the Spring Boot experts, could you spend
> some
> >> time reviewing the changes?
> >>
> >> As for the extensions/modularization activities, please join Saikat in
> the
> >> discussions ([1] and [2]). He is contributing the foundation and moving
> our
> >> existing integrations to that new repository. The Spring Boot
> improvements
> >> might be moved or, another option, we might add this class to the core?
> >>
> >> [1]
> >>
> http://apache-ignite-developers.2346864.n4.nabble.com/IGNITE-12361-Migrate-Flume-module-to-ignite-extensions-td45010.html
> >> [2]
> >>
> http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSS-Proposal-for-Ignite-Extensions-as-a-separate-Bahir-module-or-Incubator-project-td44064.html
> >>
> >> -
> >> Denis
> >>
> >>
> >> On Sat, Jan 11, 2020 at 10:44 AM Николай Ижиков <nizhi...@apache.org>
> wrote:
> >>
> >>> Hello, Igniters.
> >>>
> >>> During Ignite meetup I took part in there was a request from the users.
> >>> They propose to create a custom spring boot autoconfigurer module for
> >>> Ignite.
> >>> This module should provide a smooth injection of Ignite to any
> spring-boot
> >>> application.
> >>>
> >>> I've implemented a tiny straightforward prototype of the module [1]
> >>> Examples of the usage of integration can be found in the example
> >>> application [2]
> >>>
> >>> For now, the module provides the following features:
> >>>
> >>> 1. Starts Ignite node and inject it in the spring ApplicationContext if
> >>> bean of the type IgniteConfiguration exists in the context.
> >>>   This can be achieved in two ways:
> >>>       * create `IgniteConfiguration` from java code [3]
> >>>       * add `ignite.xml` file to the application context [4]
> >>>
> >>> 2. Starts IgniteClient instance and injects it int the spring
> Application
> >>> if:
> >>>   * ClientConfiguration bean exists in the context [5]
> >>>   * `spring.data.ignite.clientAddresses` exists in the application
> >>> properties. [6]
> >>>
> >>> I have a following questions regards new module:
> >>>
> >>>   1. We have an extension initiative so where is the right place for
> the
> >>> new module?
> >>>   2. Do we have spring experts in the community? What other features
> for
> >>> this autoconfigurer module required?
> >>>
> >>> [1] https://github.com/apache/ignite/pull/7237/files
> >>> [2]
> https://github.com/nizhikov/ignite-spring-boot-autoconfigure-example
> >>> [3]
> >>>
> https://github.com/nizhikov/ignite-spring-boot-autoconfigure-example/tree/master/src/main/java/org/apache/ignite/spring/boot/configfrombean
> >>> [4]
> >>>
> https://github.com/nizhikov/ignite-spring-boot-autoconfigure-example/tree/master/src/main/java/org/apache/ignite/spring/boot/configfromfile
> >>> [5]
> >>>
> https://github.com/nizhikov/ignite-spring-boot-autoconfigure-example/tree/master/src/main/java/org/apache/ignite/spring/boot/thinclientfrombean
> >>> [6]
> >>>
> https://github.com/nizhikov/ignite-spring-boot-autoconfigure-example/tree/master/src/main/java/org/apache/ignite/spring/boot/thinclientfromconfig
> >>>
> >>>
> >
>
>

Reply via email to