81: Version fix
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
internal strict parser, read-only <code>JournalService</code> with a Hub-managed process implementation,
|
||||
passive explicitly refreshed <code>JournalServiceManager</code>, Hub-managed
|
||||
<code>JavaFxRuntimeService</code>, the first central component Registry, and mandatory Hub configuration
|
||||
format 2 are implemented. Contexts, resolution, classloading, discovery, runtime loading/removal,
|
||||
format 1 are implemented. Contexts, resolution, classloading, discovery, runtime loading/removal,
|
||||
downloading, publishing, synchronization, watching, signatures, permissions, and license filtering remain
|
||||
future work.</p>
|
||||
|
||||
@@ -148,20 +148,17 @@ PREFERRED=nenjim:com_r35157_nenjim-hubd-api=1.0.3:'Built together'</code></pre>
|
||||
Registry manager. That manager exposes only registration, is neither a component nor a process, is not
|
||||
registered, and cannot start anything. The internal administration interface must remain package-private so
|
||||
an ordinary service consumer cannot cast the Registry object to a mutation view.</p>
|
||||
<h3>Mandatory NenjimHub.conf format 2</h3>
|
||||
<h3>Mandatory NenjimHub.conf format 1</h3>
|
||||
<p><code>NenjimHubImpl</code> is the global composition and runtime owner. Before any process starts it reads only
|
||||
the readable regular file <code>conf/NenjimHub.conf</code>. The version-controlled
|
||||
<code>conf/NenjimHub.conf.example</code> is a copy-only template: the application never reads, copies,
|
||||
generates, or falls back to it or to a hardcoded startup sequence.</p>
|
||||
<pre><code>FORMAT_VERSION=2
|
||||
<pre><code>FORMAT_VERSION=1
|
||||
|
||||
[AUTO_START]
|
||||
nenjim.registry.service
|
||||
nenjim.journal.service
|
||||
assetaz.ticker.default
|
||||
evelyn.service.prod
|
||||
evelyn.iou-burner.prod</code></pre>
|
||||
<p><code>FORMAT_VERSION=2</code> must be the first actual entry and the one exact
|
||||
nenjim.journal.service</code></pre>
|
||||
<p><code>FORMAT_VERSION=1</code> must be the first actual entry and the one exact
|
||||
<code>[AUTO_START]</code> header must be the next actual entry. Leading and trailing whitespace is ignored.
|
||||
A trimmed line beginning with <code>#</code> is a comment, and <code>#</code> after content begins a trailing
|
||||
comment. Inside the section a comment-only line does not terminate it, while the first whitespace-only line
|
||||
@@ -171,7 +168,9 @@ evelyn.iou-burner.prod</code></pre>
|
||||
duplicates, invalid or unknown IDs, passive-only IDs, and IDs the Hub cannot construct as modern processes
|
||||
fail. Registry must occur exactly once first and Journal exactly once second. The known selectable processes
|
||||
are Registry, Journal, Ticker, Jupiter Perps Alarm, both Evelyn services, Production IOU Burner, JavaFX
|
||||
runtime, Mission Control, and Process Manager. The default template omits the alarm.</p>
|
||||
runtime, Mission Control, and Process Manager. The version-controlled template selects only the mandatory
|
||||
Registry and Journal processes; every other process must be added explicitly to the private deployment
|
||||
configuration.</p>
|
||||
<p>After validation the Hub starts, registers, and records Registry, then eagerly constructs and registers the
|
||||
complete passive graph without activating a process. It next visits every remaining configured ID in exact
|
||||
order, beginning with Journal. Each selected process is constructed only when reached, registered before
|
||||
|
||||
+7
-9
@@ -3,7 +3,7 @@
|
||||
> **Dokumentstatus:** Journal-format version 1, den immutable Java-model, den interne tekstparser, det read-only
|
||||
> `JournalService` med en Hub-styret procesimplementation, den passive eksplicit refresh-baserede
|
||||
> `JournalServiceManager`, den Hub-styrede `JavaFxRuntimeService`, første version af det centrale component Registry
|
||||
> og den obligatoriske format 2 Hub-konfiguration er implementeret. Contexts, resolution, discovery, runtime loading
|
||||
> og den obligatoriske format 1 Hub-konfiguration er implementeret. Contexts, resolution, discovery, runtime loading
|
||||
> og removal er fortsat fremtidig funktionalitet.
|
||||
|
||||
**Indholdsfortegnelse:**
|
||||
@@ -236,13 +236,13 @@ fordi almindelige consumers ellers kunne caste deres Registry-service til mutati
|
||||
read-only service contract. Registration starter ikke et objekt, og Registry'et forbliver internt åbent for senere
|
||||
registration efter startup.
|
||||
|
||||
### 8.1 Obligatorisk `NenjimHub.conf` format 2
|
||||
### 8.1 Obligatorisk `NenjimHub.conf` format 1
|
||||
|
||||
Hub'en læser kun `conf/NenjimHub.conf`. Filen skal eksistere som en læsbar regular file; en manglende eller ugyldig
|
||||
fil stopper startup, før Registry startes. `conf/NenjimHub.conf.example` er kun en versioneret copy-template: Hub'en
|
||||
læser, kopierer og genererer den aldrig og falder hverken tilbage til den eller til en hardcoded procesliste.
|
||||
|
||||
Den første faktiske entry skal være `FORMAT_VERSION=2`; før den må der kun stå blanke linjer og full-line
|
||||
Den første faktiske entry skal være `FORMAT_VERSION=1`; før den må der kun stå blanke linjer og full-line
|
||||
`#`-kommentarer. Den næste faktiske entry skal være den ene eksakte `[AUTO_START]`-header. Hver aktiv linje i
|
||||
sektionen er ét `NenjimComponentId`, og rækkefølgen bevares præcist. Leading/trailing whitespace ignoreres, en trimmet
|
||||
linje som begynder med `#` er en kommentar, og `#` efter faktisk indhold starter en trailing kommentar. Inde i
|
||||
@@ -277,19 +277,17 @@ graph konstrueres mellem Registry- og Journal-start.
|
||||
indsætter eller omordner ikke dependencies. En krævet proces skal stå før sin consumer; eksempelvis skal
|
||||
`nenjim.javafx-runtime.service` stå før Mission Control og Process Manager. Mangler forgængeren, stopper konstruktion
|
||||
eller startup fail-fast uden implicit reparation. En udeladt proces bliver hverken konstrueret, registreret, startet
|
||||
eller vist af Process Manager. Jupiter Perps Alarm kan vælges eksplicit, men er fortsat udeladt fra default-template.
|
||||
eller vist af Process Manager. Den versionerede template vælger kun de obligatoriske Registry- og Journal-processer;
|
||||
alle øvrige processer skal tilføjes eksplicit til deploymentets private konfiguration.
|
||||
|
||||
Et headless eksempel uden JavaFX og Test Evelyn er:
|
||||
Et minimalt headless eksempel, svarende til den versionerede template, er:
|
||||
|
||||
```text
|
||||
FORMAT_VERSION=2
|
||||
FORMAT_VERSION=1
|
||||
|
||||
[AUTO_START]
|
||||
nenjim.registry.service
|
||||
nenjim.journal.service
|
||||
assetaz.ticker.default
|
||||
evelyn.service.prod
|
||||
evelyn.iou-burner.prod
|
||||
```
|
||||
|
||||
Tickerens egen component-konfiguration vælger fortsat eksplicit
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
> **Dokumentstatus:** Journal-format version 1 og de tilhørende Java-typer, den interne parser, query-service,
|
||||
> Hub-styret Journal-proces, JavaFX-runtime-service, passive service-managers, første version af det centrale
|
||||
> component Registry og obligatorisk Hub-konfiguration format 2 er implementeret. Resolver-, Context-,
|
||||
> component Registry og obligatorisk Hub-konfiguration format 1 er implementeret. Resolver-, Context-,
|
||||
> classloader-, discovery-, runtime-loading-, retrieval- og publishing-termer beskriver kun fremtidig vision, når
|
||||
> det er angivet.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
| Passiv component | En `NenjimComponent`, hvis implementation ikke deltager i Hub-lifecycle gennem det canonical `NenjimProcess`. Den nuværende Hub konstruerer og registrerer hele den passive dependency graph efter Registry-start uafhængigt af `[AUTO_START]`, men starter den ikke. |
|
||||
| Valgt proces | Et kendt `NenjimProcess`-objekt, som Hub'en kun konstruerer, registrerer og starter, når dets ID forekommer i `[AUTO_START]`. Rollen som service eller applikation afgør ikke denne klassifikation. |
|
||||
| NenjimHub | Den globale ejer af én kørende Nenjim runtime. Hub'en validerer `conf/NenjimHub.conf` før proces-start, bootstrapper Registry, konstruerer den passive graph og konstruerer/registrerer/starter kun valgte processer i eksakt konfigurationsrækkefølge. Den tracker succesfulde start-ID'er, erklærer online point og ejer den afsluttende runtime wait, men er hverken component eller process og registreres ikke i sit eget Registry. |
|
||||
| AUTO_START | Den obligatoriske, ordered sektion i `NenjimHub.conf` format 2. Den er deploymentets komplette manuelle proces-dependency closure; Registry og Journal skal være første og anden entry. Den udtrykker ikke Context resolution, discovery eller automatisk dependency construction. |
|
||||
| AUTO_START | Den obligatoriske, ordered sektion i `NenjimHub.conf` format 1. Den er deploymentets komplette manuelle proces-dependency closure; Registry og Journal skal være første og anden entry. Den udtrykker ikke Context resolution, discovery eller automatisk dependency construction. |
|
||||
| NenjimComponentId | Canonical lower-case Registry lookup identity med dot-separated segments og valgfrie interne bindestreger. ID'et er registration metadata i ét Registry, ikke object state, authorization eller artifact-version identity. |
|
||||
| NenjimRegistryService | Read-only component-katalog for almindelige consumers. Det giver immutable registration-order ID snapshots og typed lookup, men ingen registration, removal, loading, lifecycle, permission eller persistence administration. |
|
||||
| NenjimRegistryServiceAdmin | Package-private mutationsinterface i referenceimplementationen. Det er ikke en component, er ikke indexeret og må ikke gøres public, fordi almindelige consumers ellers kunne caste Registry-serviceobjektet til mutationsinterfacet. |
|
||||
|
||||
Reference in New Issue
Block a user