The production integration layer for deterministic systems¶
Mongoose is the deployment surface for Fluxtion. Fluxtion compiles deterministic execution graphs; Mongoose connects those graphs to production event streams, services, admin endpoints, and enterprise configuration. This catalogue is the set of plugins that wire the two together — connectors, services, and libraries, each an independent Maven module, each pluggable into a Mongoose deployment via YAML, Spring XML, or plain Java config.
- Plugins
- 13
- Categories
- Connectors · Services · Libraries
- License
- AGPL-3.0-only
- Latest
- 1.0.35
The pipeline¶
Compile with Fluxtion → deploy into Mongoose → connect via Aeron / Kafka / Chronicle / File / Multicast → operate with admin + loaders + test harness.
Why this matters¶
These plugins turn deterministic execution from a compiled artifact into a production system: ingest live data, replay events, persist state, expose admin controls, and test deployments end-to-end.
Connectors¶
Event sources, message sinks, and bridges to the outside world.
-
Sub-microsecond IPC + UDP transport. Live subscribe or archive replay. Single-host or LAN. Drop-in pair:
AeronArchiveEventSource+AeronMessageSink. -
File tail (
FileEventSource) + append-only sink (FileMessageSink) with size/time-based rotation. Replayable single-process pipelines, JSONL logs. -
Chronicle Queue + Chronicle Map: microsecond-latency persistent log + off-heap key/value, memory-mapped on disk.
-
Cross-process / cross-host messaging via a real Kafka broker. Producer flushes on shutdown via JVM hook; consumer wakes from poll cleanly.
-
UDP multicast source + sink. LAN-scoped pubsub without a broker — discovery, heartbeats, test rigs. No persistence.
Services¶
Cross-cutting capabilities shared across processors.
-
Named JDBC connection registry backed by HikariCP. Per-entry pool sizing, validation query, leak-test proven. Inject via
JdbcConnectionLoader. -
In-memory + JSON-persistent caches. Optional LRU
maxSizewith eviction metric. Use for shared reference data warmed at startup. -
JLine-backed telnet admin endpoint. Loopback bind by default. Tab-complete, history. Pair with the loader / cache plugins.
-
Javalin REST admin endpoint with BASIC / BEARER auth (constant-time compare). Hostable static SPA directory.
-
Browser admin & monitoring SPA. Same command surface as telnet/rest, plus a dashboard, live JVM monitor + log tail over WebSocket, and conditional cache/loader panels.
-
Load and reload processors at runtime from YAML or Java source. Compiled or interpreted modes.
-
Load and reload processors at runtime from Spring XML. Same surface as svc-loader-yaml but with Spring XML as source-of-truth.
Libraries¶
Shared utilities used across plugins and applications.
-
Type-discriminated JSONL deserialiser. Drop in as
valueMapperon a file or socket feed carrying mixed event types. -
MongooseTestHarness— boot a real server in 5 lines, await with timeouts,AutoCloseablecleanup. Cuts integration-test ceremony by ~3×.
Quick start¶
<dependency>
<groupId>com.telamin</groupId>
<artifactId>connector-file</artifactId>
<version>1.0.35</version>
</dependency>
eventFeeds:
- name: trades
instance: !!com.telamin.mongoose.plugin.connector.file.FileEventSource
filename: ./data-in/trades.jsonl
readStrategy: COMMITED
broadcast: true
valueMapper: !!com.telamin.mongoose.plugin.lib.json.TypeSerialiser {}
See Getting started for the full setup, including how to wire plugins into a MongooseServerConfig.
Conventions baked into every plugin¶
Fail-fast config¶
Empty/null paths, ports, and credentials throw IllegalStateException from init() — not deeper at first use.
Idempotent teardown¶
Every tearDown() is safe to call twice. Resources are nulled after close.
Parent dirs auto-created¶
File-based plugins call mkdirs() before opening. Bare basenames work — no getParentFile() NPE.
JDK 21+, agrona-aware¶
--add-opens java.base/jdk.internal.misc=ALL-UNNAMED wired in the parent POM. Plugins target Java 21 and run on JDK 25.