Oliver Drotbohm

Oliver Drotbohm

Oliver Drotbohm has been a member of the Spring open source engineering team for 15 years. His work focused on software architecture, DDD, REST, and persistence technologies.

Recent Blog posts by Oliver Drotbohm

Spring Modulith 1.0.4 and 1.1.1 released

Releases | December 21, 2023 | ...

On behalf of the community I am happy to announce Spring Modulith 1.0.4 and 1.1.1. The releases primarily contain bug fixes and dependency upgrades to the latest Spring Boot versions.

Find more information in the corresponding change logs of 1.0.4 and 1.1.1.

Happy holidays!

Spring Modulith 1.1 GA and 1.0.3 released

Releases | November 24, 2023 | ...

On behalf of the community I am delighted to announce the general availability of Spring Modulith 1.1 and the 1.0.3 bugfix release. This rather short stint after our 1.0 GA release in just three months ago brings us back in sync with the Spring Boot release train which we are going to follow going forward. We still managed to package up quite a few great new features, most notably:

  • Support for event externalization into AMQP, Kafka, JMS, AWS SNS and SQS (the latter two contributed by Maciej Walkowiak) #248 #344
  • API to deal with completed and incompleted event publications #294
  • Strengthened relationship constraints for code residing in the application root #317
  • A Now interface extracted from Moments and additional methods to access today (LocalDate) and the current point in time as Instant.
  • @ApplicationModuleListener moved into the events package (in the …-events-api artifact) #322
  • Support for the actuators in native images #376, #375
  • A Neo4j implementation of the Event Publication Repository (contributed by Gerrit Meier)

Spring Modulith 1.1 RC2 released

Releases | November 03, 2023 | ...

I am happy to announce the availability of Spring Modulith 1.1 RC2. We took the chance to incorporate feedback from the community to tweak a few internals of features newly introduced in the 1.1 generation. We have also managed to sneak a few new ones into the release:

  • Support for AWS SNS / SQS in event externalization (contributed by Maciej Walkowiak) GH-344
  • Allowing to define a listener identifier via @ApplicationModuleListener GH-346
  • Re-instantiated, general compatibility with Spring Boot 3.1 and Framework 6.0 GH-357
  • Upgrade to Spring Boot 3.2 RC2 GH-354

Find the full release change log

Spring Modulith 1.1 RC1 and 1.0.2 released

Releases | October 23, 2023 | ...

It is my pleasure to announce the release of Spring Modulith 1.1 RC1 and 1.0.2. While the latter primarily ships bug fixes and upgrades to Spring Boot 3.1.5, the former packages quite a few new features, such as:

  • Upgrade to Spring Boot 3.2 RC1 / Spring Framework 6.1 RC1 GH-329
  • Verification of references in code located in the application root GH-317
  • @ApplicationModuleListener now located in ….modulith-events in spring-modulith-events-api GH-322
  • Stricter filtering of bean definitions in application module tests GH-320
  • Moments now implements Now GH-335

For more information consult the full change logs for 1.1 RC1 and 1.0.2

Simplified Event Externalization with Spring Modulith

Engineering | September 22, 2023 | ...

Transactional service methods are a common pattern in Spring applications. These methods trigger a state transition important to the business. This usually involves a core domain abstraction, such as an aggregate and its corresponding repository. A stereotypical example of such an arrangement might look like this:

@Service
@RequiredArgsConstructor
class OrderManagement {

  private final OrderRepository orders;

  @Transactional
  Order complete(Order order) {
     return orders.save(order.complete());
  }
}

As state transitions like these might be interesting to third parties, we might want…

Spring Modulith 1.1 M1 and 1.0.1 released

Releases | September 21, 2023 | ...

On behalf of the community, I am happy to announce the release of Spring Modulith 1.1 M1 and 1.0.1. While the latter primarily ships minor bug fixes, the former packages quite a few new features, such as:

  • Support to externalize application events into Kafka, AMQP and JMS GH-248
  • APIs to access completed and incomplete event publications GH-294
  • Support for Neo4j as persistence store to back the Event Publication Registry GH-301

We will have a blog post elaborating on the former coming soon. Feel free to check out the full change log and revamped reference documentation in the meantime. Thanks…

Spring Modulith 1.0 GA released

Releases | August 21, 2023 | ...

On behalf of the community and everyone who contributed, I'm proud to announce the release of Spring Modulith 1.0 GA. What started as an R&D side project over 5 years ago, became an experimental Spring project in 2022 is now available as a fully supported, top-level project to the Spring community.

Just as Spring has evolved over the last 20 years we always wanted Java developers to be able to build software that's evolvable over time. Back then, placing dependency injection at the heart of the component model was revolutionary and enabled developers to unit test their code easily. Spring's…

Spring Modulith 1.0 RC2 released

Releases | August 16, 2023 | ...

In preparation for the GA release next Monday, we have just shipped 1.0 RC2 of Spring Modulith. We took the chance to fold in some feedback regarding some tiny inconsistencies that would've been inconvenient to fix post 1.0 GA.

  • The Event Publication Registry now consistently uses event_publication as table name for the relational stores and as collection name for MongoDB GH-265, GH-266
  • Improved JPA event publication completion GH-261
  • Actuator exposing the module structure renamed to modulith GH-268
  • Explicit declaration of @ApplicationModule(allowedDependencies = {}) now does not allow any outgoing dependencies GH-267

Spring Modulith 1.0 RC1 released

Releases | August 09, 2023 | ...

I am happy to announce the release of Spring Modulith 1.0 RC1. The first release candidate is likely to be the last before our GA release and contains quite a few new features and improvements.

  • Event re-publication on startup is now configurable and defaults to false to avoid problems in cluster deployments. GH-240
  • More efficient database access in the Event Publication Registry. GH-251
  • The Clock instance used by the Event Publication Registry can now be customized. GH-206
  • Improvements in ApplicationModuleExporter to support the structural verification in the editor of STS4 GH-227, GH-229
  • A lot of minor improvements and documentation updates.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all