Posted on September 10, 2019

Spine 1.1.0

Core Java

This release brings several API enhancements as well as performance and stability improvements.

API changes

  • New API for importing events from third-party systems (#1152). For that, users may represent a third-party system as a Bounded Context. A ThirdPartyContext publishes events submitted by the user as external events so that Spine-based Contexts may subscribe/react on them. Example:
ThirdPartyContext context = ThirdPartyContext.multitenant("GitHub Issues");
ActorContext actor = // ...
EventMessage event = IssueClosed
        .newBuilder()
        // ...
        .vBuild();
context.emittedEvent(event, actor);
  • Deprecation of @ByField filtering in event subscribers. Now, the subscriber parameter itself should be annotated with @Where (#1159).
  • New extension points in the Delivery mechanism allow for fine-tuning (#1153).
  • IntegrationBus seized to exist. Instead, we introduce new internal components which perform the same job. Public API for SPI users was NOT changed (#1156).
  • Test utilities now use the latest release version of Google Truth. Minor backward compatibility issues may be expected at the users’ end (#1146).

Other changes

This release brings a number of performance improvements, most notably in the System Context (#1140) and in the handler method scan process (#1147, #1148).