Files

1.6 KiB

Why

TickerService exposes start() and stop() to ordinary consumers even though the current Nenjim architecture makes the Hub the lifecycle owner and models active implementations separately through NenjimProcess. This leaks process control through a domain service API and promises a stop lifecycle that the canonical process contract does not support.

What Changes

  • BREAKING: Remove start() and stop() from the public TickerService contract.
  • Keep TickerServiceImpl as both the lifecycle-free service view and the Hub-started NenjimProcess view.
  • Remove the implementation's public general stop operation while retaining private rollback that stops every PriceSource started during a failed startup attempt.
  • Keep PriceSource lifecycle contracts, latest-price behavior, persistence, Registry resolution, and Hub startup wiring unchanged.
  • Update the canonical Ticker specification, JavaDoc, and Nenjim documentation to describe Hub-owned lifecycle.

Capabilities

Modified Capabilities

  • assetaz-ticker-service: Separates the ordinary latest-price service API from Hub-owned process startup and limits source stopping to failed-start cleanup.

Impact

  • Changes the public com.r35157.assetaz.services.ticker.TickerService source contract and the public methods of TickerServiceImpl.
  • Existing callers must stop invoking Ticker lifecycle through the service view; the Hub continues to invoke startup through NenjimProcess.
  • Adds no common stop/restart support, shutdown orchestration, source lifecycle changes, dependencies, or automated tests.