Spring-boot: BOM inclusion for spring-integration-kafka

Created on 13 Apr 2018  路  3Comments  路  Source: spring-projects/spring-boot

Currently spring-integration-kafka does not have any version bindings in existing spring BOM's, which means to use it a version must be explicitly declared even when using gradle and the dependency-management plugin.

When asked about at https://stackoverflow.com/questions/49824395/spring-integration-kafka-bom, it was recommended to file a ticket for spring-boot since spring-integration-kafka is pretty closely coupled to the spring-kafka project. While certainly not a big deal to declare the version in use, it would be convenient to only have to specify spring-integration-kafka's version if overriding is required.

declined

Most helpful comment

Just to provide a little more meat to the reasoning....

Adding spring-integration-kafka to the spring-integration-bom (or boot), while it's still an extension, defeats the whole reason for having it as an extension, which is mainly because it, traditionally, has a much faster release cycle than spring-integration itself.

For the same reason, it made little sense for it to be defined as a dependency in the spring.io platform.

We went through a phase where we were having to create new minor releases often because of breaking API changes in the kafka-clients.

We were forced to release 2.0, 2.1, 2.2, 2.3, and 3.0 in the space of only 17 months.

That said, things seem to be stabilizing from a Kafka perspective now, since 0.11/1.0.0, so we can definitely consider moving it to core in 5.1 or 5.2, and bring it back into dependency management.

All 3 comments

12815 added support for direct Kafka dependencies but that was because we reference them in KafkaProperties. We currently don't have any direct spring-integration-kafka auto-configuration in Boot.

In the Initializr issue here https://github.com/spring-io/initializr/issues/642#issuecomment-380008475 @wilkinsona has commented:

Spring Integration Kafka was removed from the IO Platform in Cairo on the recommendation of @garyrussell. As such, I do not think we should be adding dependency management for it to Boot.

That combined with the fact that INT-3966 is considering migration means I don't think we should add spring-integration-kafka as a managed dependency.

/cc @artembilan

Just to provide a little more meat to the reasoning....

Adding spring-integration-kafka to the spring-integration-bom (or boot), while it's still an extension, defeats the whole reason for having it as an extension, which is mainly because it, traditionally, has a much faster release cycle than spring-integration itself.

For the same reason, it made little sense for it to be defined as a dependency in the spring.io platform.

We went through a phase where we were having to create new minor releases often because of breaking API changes in the kafka-clients.

We were forced to release 2.0, 2.1, 2.2, 2.3, and 3.0 in the space of only 17 months.

That said, things seem to be stabilizing from a Kafka perspective now, since 0.11/1.0.0, so we can definitely consider moving it to core in 5.1 or 5.2, and bring it back into dependency management.

Sounds good, thanks for the response!

Was this page helpful?
0 / 5 - 0 ratings