Merged to master [1]

Igniters, I want to release both modules I added.
Do we have documentation, how it should be done for ignite-extensions?

[1]
https://github.com/apache/ignite-extensions/commit/575ec510e4d48b1e0c2ec7e4cf8d596e7de82f70

пн, 27 янв. 2020 г. в 13:06, Nikolay Izhikov <nizhi...@apache.org>:

> Hello, Alexey Kuznetsov.
>
> I have two approvals from Saikat Maitra and Maxim Stepachov.
> I have plans to merge spring-boot autoconfigure modules to
> ignite-extensions. [1]
> Do you want to perform additional review?
>
> [1] https://github.com/apache/ignite-extensions/pull/6
>
> пт, 24 янв. 2020 г. в 07:41, Saikat Maitra <saikat.mai...@gmail.com>:
>
>> Hi Nikolay,
>>
>> Thank you for updating the PR, the changes looks good.
>>
>> Regards,
>> Saikat
>>
>> On Wed, Jan 22, 2020 at 1:33 PM Николай Ижиков <nizhi...@apache.org>
>> wrote:
>>
>> > Hello, Saikat.
>> >
>> > Thank you so much for the review.
>> >
>> > I answered your questions and resolve all the comments.
>> > Please, take a look, one more time.
>> >
>> > > 22 янв. 2020 г., в 07:58, Saikat Maitra <saikat.mai...@gmail.com>
>> > написал(а):
>> > >
>> > > Hi Nikolay,
>> > >
>> > > I have reviewed the PR and shared comments.
>> > >
>> > > Please let me know if you have any feedback.
>> > >
>> > > Regards,
>> > > Saikat
>> > >
>> > > On Mon, Jan 20, 2020 at 2:42 PM Николай Ижиков <nizhi...@apache.org>
>> > wrote:
>> > >
>> > >> Hello, Saikat.
>> > >>
>> > >> Thanks, for feedback.
>> > >>
>> > >> I raised a PR [1] to `ignite-extensions`.
>> > >>
>> > >> You can find description of the new module below(examples can be
>> found
>> > at
>> > >> [2]):
>> > >>
>> > >> Module provides the ability to integrate `Ignite` into you
>> spring-boot
>> > >> application with zero(or minimal) configuration.
>> > >>
>> > >> After you add this module as a dependency to your spring-boot
>> > application
>> > >> `Ignite` node will be configured and injected into `BeanFactory`.
>> > >>
>> > >> Algorithm to configure `Ignite` is the following:
>> > >>  1. If `IgniteConfiguration` bean exists in the `BeanFactory` it
>> will be
>> > >> used.
>> > >>  2. If `IgniteConfiguration` bean doesn't exist following rules are
>> > >> applied:
>> > >>    2.1. Default `Ignite` configuration created.
>> > >>    2.2. If `IgniteConfigurer` bean exists in `BeanFactory` it will be
>> > >> used to customize `IgniteConfiguration`.
>> > >>         If a user wants to set custom SPI instances or similar
>> hardcoded
>> > >> values
>> > >>         one should do it with `IgniteConfigurer` implementation.
>> > >>    2.3  Application properties applied to `IgniteConfiguration`.
>> Prefix
>> > >> for the properties is `ignite`.
>> > >>
>> > >>
>> > >> [1] https://github.com/apache/ignite-extensions/pull/6
>> > >> [2]
>> > https://github.com/nizhikov/ignite-spring-boot-autoconfigure-example
>> > >>
>> > >>
>> > >>> 18 янв. 2020 г., в 06:44, Saikat Maitra <saikat.mai...@gmail.com>
>> > >> написал(а):
>> > >>>
>> > >>> 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