Skip to content

Getting started

Start with a small executable example, then add remote communication and the host capabilities your application actually needs. You do not need to implement a framework-specific service interface to use generated component wiring.

Step Outcome
Check requirements A usable Java 25 development environment
Build and verify examples Current source compiled with its real annotation processor
Run the first component Equivalent annotated and explicit dependency graphs
Exercise separate JVMs Actual same-host process communication and failure behavior
Understand packaging and deployment The boundary between application code and a trusted host

Pick the right first example

The component example executes generated constructor injection and lifecycle callbacks. The runtime example performs real gRPC request/reply and callback traffic between two runtimes in one JVM. The schema example compares generated and explicit allowlists. The queue example executes the native queue reducer locally; it does not pretend to be a multi-voter cluster. The failover example shows sticky selection, topology refresh and replacement after target loss, with effect counters proving that a failed business operation was not replayed.

For actual generated queue, job and saga hosting, run the additional integration verification. Each example states what it proves so a short tutorial does not become an unsupported production guarantee.

Separate JVMs and separate hosts

The built-in gRPC and RMI providers currently advertise loopback endpoints. The first multi-JVM exercise therefore runs on one host. Multicast/network-bootstrap registry discovery and native resource servers have separate network configuration. Cross-host business invocation needs an appropriate host transport integration; there is no undocumented built-in advertised-host setting to copy.