81: Control Nenjim process construction and ordered startup through NenjimHub.conf
This commit is contained in:
@@ -72,9 +72,16 @@ The implementation's `start()` SHALL be the only operation that calls `Platform.
|
||||
- **THEN** `com.r35157.libs.javafx.JavaFxRuntime` is absent and only `JavaFxRuntimeServiceImpl.start()` calls `Platform.startup(...)`
|
||||
|
||||
### Requirement: Deferred JavaFX runtime features remain absent
|
||||
The JavaFX runtime service SHALL represent one JVM-wide toolkit and SHALL not implement multiple toolkits, headless emulation, toolkit replacement, shutdown, stop, restart, recovery, supervision, health monitoring, runtime status queries, window discovery or management, configuration, Context resolution, automatic dependency discovery/startup, lifecycle events, or subscriptions. This change SHALL not add `NenjimHub.conf` or configurable autorun.
|
||||
The JavaFX runtime service SHALL represent one JVM-wide toolkit and SHALL not implement multiple toolkits, headless emulation, toolkit replacement, shutdown, stop, restart, recovery, supervision, health monitoring, runtime status queries, window discovery or management, configuration, Context resolution, automatic dependency discovery/startup, lifecycle events, or subscriptions. Hub configuration MAY select the JavaFX runtime and applications only through explicit known process IDs in dependency-safe order; it SHALL not add configuration to the JavaFX service API. A valid headless Hub configuration MAY omit the runtime and every JavaFX application, in which case the Hub SHALL not construct or initialize the JavaFX runtime.
|
||||
|
||||
#### Scenario: Configured JavaFX consumers follow runtime startup
|
||||
- **WHEN** a valid Hub configuration selects JavaFX applications
|
||||
- **THEN** it lists `nenjim.javafx-runtime.service` before those applications and the shared runtime is started before they submit UI work
|
||||
|
||||
#### Scenario: Headless configuration omits JavaFX
|
||||
- **WHEN** a valid Hub configuration omits the JavaFX runtime and all JavaFX applications
|
||||
- **THEN** no JavaFX runtime or application process is constructed and the JavaFX toolkit remains uninitialized by Hub startup
|
||||
|
||||
#### Scenario: Runtime boundary is inspected
|
||||
- **WHEN** the delivered service, process implementation, Hub integration, and application constructors are examined
|
||||
- **THEN** only explicit one-time startup, asynchronous task submission, fixed Hub ordering, and dependency injection are present
|
||||
|
||||
- **THEN** only explicit one-time runtime startup, asynchronous task submission, configuration-ordered dependency injection, and optional omission are present
|
||||
|
||||
Reference in New Issue
Block a user