Oliver Drotbohm

Oliver Drotbohm

Frameworks & Architecture | Dresden, Germany

Oliver Drotbohm is Senior Principal Software Engineer at Pivotal, Java Champion and member of the JPA 2.1 expert group. He has been into developing enterprise applications and open source projects for over 12 years now. His working focus is centered around software architecture, DDD, REST, and persistence technologies. He is regularly speaking at German and international conferences and the author of technology articles as well as the first book on Spring Data.
Blog posts by Oliver Drotbohm

Spring Modulith 0.5.1 released

Releases | March 24, 2023 | ...

I'd like to announce the availability of Spring Modulith 0.5.1. The release primarily contains an important bug fix (the spring-modulith-runtime module accidentally contained a Logback configuration file only intended for test usage) and the usual upgrade to the latest Spring Boot version. Find more information in the full changelog, as well as reference documentation.

In case you are wondering about what the project is all about, Voxxed Days Zurich have published "Spring Modulith – Spring for Architecturally Curious Developers":

Spring HATEOAS 1.5.4, 2.0.3 and 2.1 M1 released

Releases | March 23, 2023 | ...

I am excited to announce the releases of versions 1.5.4, 2.0.3 and 2.1 M1 of Spring HATEOAS. The bug fix releases primarily ship dependency upgrades, including one to the latest Spring Framework 5 and 6 releases which include fixes for a CVE. The 2.1 milestone includes a couple of new features, such as:

  • Property metadata for forms now also considers JSR-03's @Size annotation – #1920
  • Introduction of SlicedModel, a simplified version of PagedModel to navigate slices but not calculate a total – #1856

For more information, please check out the full changelogs on GitHub.

Spring Modulith 0.5 released

Releases | March 08, 2023 | ...

I am excited to announce the availability of Spring Modulith 0.5. The most relevant features the release ships are:

  • #152 – A dedicated starter to ease inclusion of actuator and observability features
  • #163 – The renamed property to trigger JDBC database initialization. (spring.modulith.events.schema-initialization.enabled -> spring.modulith.events.jdbc-schema-initialization.enabled)
  • #149 – Default to await termination of task executors unless configured not to
  • #150Scenario should run stimulus in new transaction
  • #162, #154 – The usual dependency upgrades (Spring Boot 3.0.4, jMolecules 2022.2.4)

Spring Modulith 0.4 released

Releases | February 24, 2023 | ...

Dear Spring community, I am excited to announce the release of Spring Modulith 0.4. The release ships with the following new features:

  • A new Scenario API to allow the concise definition of integration tests for application modules, specifically tailored around the idea of them integrating via asynchronously handled, transaction bound events.
  • A new starter that allows to pull in the runtime support in a concise way, primarily to ease the usage of ApplicationModuleInitializers (GH-132).
  • The event publication registry now returns uncompleted events in ascending order of their publication dates (GH-133) and provides better logging (GH-125).
  • A few tiny optimizations in our documentation generation support, especially if the UML style is for component diagrams (GH-130, GH-140, GH-141

Spring Modulith 0.3 released

Engineering | January 20, 2023 | ...

Hot on the heels of Spring Boot 3.0.2, I am excited to announce the 0.3 release of Spring Modulith. The release is packed with improvements. We have tweaked a couple of things that might require your attention and a couple of adapting changes to your code. The most notable changes are:

  • GH-114 – We renamed the ….modulith.model package to ….modulith.core. This primarily affects ApplicationModules. Please adapt your imports accordingly.

  • GH-120 – The documentation support now generates diagram files using the *.puml file extension, as suggested by PlantUML. Please adapt your imports accordingly.

  • GH-103ApplicationModuleInitializer implementations will be triggered upon application startup, in the order following the application module dependency structure (more core ones are invoked first). Also, ApplicationModules exposes a ….getComparator() to order Spring beans that way. Note, that this requires the JGraphT library to be on the classpath (automatically pulled in via the spring-modulith-runtime artifact). See the reference documentation for details.

Spring Modulith 0.2 released

Releases | December 23, 2022 | ...

I am pleased to announce the availability of Spring Modulith 0.2. The release adds the following features:

  • We introduced @ApplicationModuleListener to ease the declaration of asynchronous, transactional event listeners that run in a transaction themselves. A model that we recommend as default to integration application modules. (#80, reference documentation)
  • The application module dependency structure is now also exposed as Spring Boot actuator. This allows operating infrastructure to visualize insights it provides to operations teams to be aligned with the application module structure (HTTP traces by module etc.) (#87, reference documentation
  • The Postgres event publication registry schema now follows Postgres best practices. (#81

Spring Modulith 0.1 released

Releases | November 24, 2022 | ...

Hot on the heels of Spring Boot 3.0 GA, it's my pleasure to announce the availability of Spring Modulith 0.1. The release concludes the integration of the Moduliths project into the Spring ecosystem. I want to especially thank Dmitry Belyaev and Björn Kieling who helped a lot during the migration and contributed significant new features to the project, the event publication repository implementations for JDBC and MongoDB in particular.

For a general introduction into the project, please check out the original announcement and this InfoQ article.

Changelog | Reference documentation

Spring Modulith 0.1 RC1 released

Releases | November 17, 2022 | ...

I am pleased to announce the first and final release candidate of Spring Modulith 0.1. The release primarily is a preparation for the GA one to follow Spring Boot 3.0 GA some time next week. That said, we managed to sneak a couple of improvements into the Application Module Canvas that will surely be helpful. The Canvas now lists Spring bean references into other modules explicitly and thus documents the required interface of the module, just like constructor arguments describe the dependencies of a class.

202445150 8c5422b9 031e 441f a5dc 4184b78d65f8

Figure 1. Spring bean references in the Application Module Canvas

Also, the Canvas now includes value types exposed by a module. These types are identified by either the annotations or interfaces provided by the jMolecules DDD library

Spring Modulith 0.1 M2 released

Releases | November 02, 2022 | ...

I am pleased to announce the availability of the second milestone of Spring Modulith 0.1. The release contains a few minor bug fixes and a couple of community contributions to the reference documentation. Find a complete overview about the changes included in the release here. For a general introduction into the project, please consult the announcing blog post.

The current plan is to ship an 0.1 RC1 after Spring Boot’s second RC, followed by a GA version on the heels of Boot’s GA.

Get ahead

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

Learn more

Get support

Spring Runtime 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