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.
Spring Modulith 1.1 GA and 1.0.3 released
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
Nowinterface extracted fromMomentsand additional methods to access today (LocalDate) and the current point in time asInstant. @ApplicationModuleListenermoved into theeventspackage (in the…-events-apiartifact) #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
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
@ApplicationModuleListenerGH-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
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
@ApplicationModuleListenernow located in….modulith-eventsinspring-modulith-events-apiGH-322- Stricter filtering of bean definitions in application module tests GH-320
Momentsnow implementsNowGH-335
For more information consult the full change logs for 1.1 RC1 and 1.0.2…
Simplified Event Externalization with Spring Modulith
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
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
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
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_publicationas 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
modulithGH-268 - Explicit declaration of
@ApplicationModule(allowedDependencies = {})now does not allow any outgoing dependencies GH-267 …
Spring Modulith 1.0 RC1 released
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
Clockinstance used by the Event Publication Registry can now be customized. GH-206 - Improvements in
ApplicationModuleExporterto support the structural verification in the editor of STS4 GH-227, GH-229 - A lot of minor improvements and documentation updates. …