Skip to content

Add Spring Boot auto-configuration for NexusClient - #3158

Open
Quinn-With-Two-Ns wants to merge 2 commits into
mainfrom
nexus-client-spring-autoconfigure
Open

Quinn-With-Two-Ns wants to merge 2 commits into
mainfrom
nexus-client-spring-autoconfigure

Conversation

@Quinn-With-Two-Ns

@Quinn-With-Two-Ns Quinn-With-Two-Ns commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

What changed?

  • Expose a primary temporalNexusClient bean for the root namespace and <alias-or-namespace>NexusClient beans for non-root namespaces.
  • Support namespace-specific data converters and TemporalOptionsCustomizer<NexusClientOptions.Builder> beans, with automatic interceptor registration for the root client.
  • Add integration tests and concise documentation. Per-service clients and YAML configuration are out of scope.

Why?

Make it easy to inject and reuse a process-lifetime Nexus client, following the existing WorkflowClient and ScheduleClient Spring integration.

Closes #3122.


Note

Low Risk
Additive Spring Boot wiring and new beans; constructor signature changes are internal to the autoconfigure module with tests covering behavior.

Overview
Adds Spring Boot auto-configuration for NexusClient, mirroring the existing WorkflowClient / ScheduleClient integration.

Applications get a primary temporalNexusClient for the root namespace and <alias-or-namespace>NexusClient singletons for configured non-root namespaces. Clients are built through ClientTemplate and a new NexusClientOptionsTemplate (namespace, per-namespace DataConverter, ordered TemporalOptionsCustomizer<NexusClientOptions.Builder> beans). Root-namespace NexusClientInterceptor beans are wired automatically; non-root namespaces use namespace-prefixed customizers only (interceptors via customizer, not auto-discovery).

NonRootBeanPostProcessor registers the new beans alongside other per-namespace clients. Deprecated ClientTemplate / NonRootNamespaceTemplate constructors without plugin/Nexus parameters are removed. CHANGELOG, README, and NexusClientAutoConfigurationTest cover injection, multi-namespace connections, customizers, and root interceptors.

Reviewed by Cursor Bugbot for commit 05863be. Bugbot is set up for automated code reviews on this repo. Configure here.

@Quinn-With-Two-Ns
Quinn-With-Two-Ns marked this pull request as ready for review October 20, 2026 17:50
@Quinn-With-Two-Ns
Quinn-With-Two-Ns requested a review from a team as a code owner October 20, 2026 17:50

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Springboot NexusClient and NexusServiceClient<T> support for easier, correct SANO usage

1 participant