JLegMed is a lightweight Java framework that combines the principles of domain-driven design (DDD) with seamless integration between traditional enterprise systems and modern cloud-native platforms. It connects JMS-, JDBC-, and TCP-based business applications with Kafka and S3 to support both transaction- and event-driven workflows.
By aligning clear domain boundaries with flexible technical adapters, JLegMed helps you modernize existing systems step by step to establish coherent DDD-based business logic and operate it in an on-premise, cloud-native, or hybrid infrastructure.
- Pipes & Filters Architecture – A natural fit for data-flow-based processing
- Functional Programming Style – Focus on the what, not the how
- Minimal Dependencies – Built on Java SE APIs
- Easy Integration – Compatible with JMS, JDBC, TCP, Kafka, S3, and more
- Java 25 or higher
- Maven-compatible IDE (e.g., IntelliJ IDEA, Eclipse)
public final class HelloJLegMed
{
static void main(String[] args) {
var jLegMed = new JLegMed(HelloJLegMed.class);
jLegMed.newFlowGraph("HelloWorld")
.every(1, TimeUnit.SECONDS)
.receive(String.class).from( () -> "Hello " )
.and().processWith(data -> data + "World" )
.and().consumeWith(System.out::println);
jLegMed.run();
}
}Maven:
<dependencies>
<dependency>
<groupId>io.jexxa.jlegmed</groupId>
<artifactId>jlegmed-core</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.17</version>
</dependency>
</dependencies>Gradle:
compile "io.jexxa:jlegmed-core:5.0.0"
compile "org.slf4j:slf4j-simple:2.0.17"- Flow graph configuration
- Flow graph introspection
- Data fan-out / fan-in (multi-sinks/sources)
- Custom error handling strategies
- Bootstrapping and flow control
- Pre-built template for quick project startup
- Fully Maven-compatible
- Optional integration with the Jexxa Framework
Contributions are welcome! For large changes, please open an issue to discuss what you have in mind.
Please make sure:
- All code changes are covered by tests
- Documentation is updated accordingly
- Source code: Apache 2.0 License - see TLDR legal
- Documentation: Creative Commons
- ©️ 2023–2025 Michael Repplinger