Skip to content

jexxa-projects/JLegMed

Repository files navigation

Maven Central License

Maven Build CodeQL

🧩JLegMed—Connect the Past with the Future

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.

🚀 Features

  • 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

📋 Requirements

  • Java 25 or higher
  • Maven-compatible IDE (e.g., IntelliJ IDEA, Eclipse)

🛠️ Quickstart

Hello World Example

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();
    }
}

Add Dependencies

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"

📚 Use Cases with Examples

Basic Patterns

Advanced Patterns

Support for sending/receiving over:

🌐 Ecosystem

🤝 Contributing

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

📜 License

About

JLegMed - Connect the Past with the Future

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages