Skip to content

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.

Get started Browse examples Architecture

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.

  • connector-aeron

    sourcesinklow-latencyarchive replay

    Sub-microsecond IPC + UDP transport. Live subscribe or archive replay. Single-host or LAN. Drop-in pair: AeronArchiveEventSource + AeronMessageSink.

  • connector-file

    sourcesinkreplayable

    File tail (FileEventSource) + append-only sink (FileMessageSink) with size/time-based rotation. Replayable single-process pipelines, JSONL logs.

  • connector-chronicle

    sourcesinklow-latencypersistent

    Chronicle Queue + Chronicle Map: microsecond-latency persistent log + off-heap key/value, memory-mapped on disk.

  • connector-kafka

    sourcesinkbroker

    Cross-process / cross-host messaging via a real Kafka broker. Producer flushes on shutdown via JVM hook; consumer wakes from poll cleanly.

  • connector-multicast

    sourcesink

    UDP multicast source + sink. LAN-scoped pubsub without a broker — discovery, heartbeats, test rigs. No persistence.

Services

Cross-cutting capabilities shared across processors.

  • svc-jdbc

    servicepooled

    Named JDBC connection registry backed by HikariCP. Per-entry pool sizing, validation query, leak-test proven. Inject via JdbcConnectionLoader.

  • svc-cache

    serviceoptional persist

    In-memory + JSON-persistent caches. Optional LRU maxSize with eviction metric. Use for shared reference data warmed at startup.

  • svc-admin-telnet

    service

    JLine-backed telnet admin endpoint. Loopback bind by default. Tab-complete, history. Pair with the loader / cache plugins.

  • svc-admin-rest

    service

    Javalin REST admin endpoint with BASIC / BEARER auth (constant-time compare). Hostable static SPA directory.

  • svc-admin-web

    service

    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.

  • svc-loader-yaml

    service

    Load and reload processors at runtime from YAML or Java source. Compiled or interpreted modes.

  • svc-loader-spring

    service

    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.

  • lib-jsonserialiser

    library

    Type-discriminated JSONL deserialiser. Drop in as valueMapper on a file or socket feed carrying mixed event types.

  • mongoose-test-support

    test

    MongooseTestHarness — boot a real server in 5 lines, await with timeouts, AutoCloseable cleanup. 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.