Skip to content
/ stream Public
forked from wendy512/stream

Streaming processing framework, source, channel, sink, support mqtt, Kafka and other components

License

Notifications You must be signed in to change notification settings

jujiale/stream

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stream

Maven Central License

English | 中文

Overview

Stream supports lightweight messaging within Spring-based applications and supports integration with external systems through declarative adapters. These adapters provide a higher level of abstraction than Spring's support for remote processing, messaging, and scheduling. The main goal of Stream is to provide a simple model for building enterprise integration solutions while maintaining separation of concerns, which is essential for producing maintainable and testable code.

Lightweight messaging within Stream-based applications, such applications are built by assembling fine-grained reusable components to form higher-level functions. Through careful design, these processes can be modularized and reused at a higher level. Stream also provides a variety of channel adapters and gateways for communicating with external systems. Channel adapters are used for one-way integration (send or receive), asynchronous message high-performance processing framework, fixed thread asynchronous processing of messages, and support for batch processing of messages.

flow

Features

  • Supports Kafka, MQTT, Redis, RabbitMQ, Pulsar message sources and sinks and supports expansion
  • Message source processing supports two processing methods: round-robin and random
  • Message processing supports extensible interceptors
  • Support SpringBoot2 and SpringBoot3

Requirements

Compilation requires JDK 8 and above, Maven 3.2.5 and above.

Integrated

If you use Maven, you just need to add the following dependency in pom.xml

Spring Boot2 version

<dependency>
    <groupId>io.github.wendy512</groupId>
    <artifactId>stream-core</artifactId>
    <version>1.0.4</version>
</dependency>

Add corresponding component dependencies according to your needs, example mqtt component

<dependency>
    <groupId>io.github.wendy512</groupId>
    <artifactId>stream-mqtt</artifactId>
    <version>1.0.4</version>
</dependency>

Supports the following components

  • stream-mqtt
  • stream-kafka
  • stream-pulsar
  • stream-rabbitmq
  • stream-redis

Spring Boot3 version

The jdk version must be 17 or above

<dependency>
    <groupId>io.github.wendy512</groupId>
    <artifactId>stream-core-springboot3</artifactId>
    <version>1.0.4</version>
</dependency>

Add corresponding component dependencies according to your needs, example mqtt component

<dependency>
    <groupId>io.github.wendy512</groupId>
    <artifactId>stream-mqtt-springboot3</artifactId>
    <version>1.0.4</version>
</dependency>

Supports the following components

  • stream-mqtt-springboot3
  • stream-kafka-springboot3
  • stream-pulsar-springboot3
  • stream-rabbitmq-springboot3
  • stream-redis-springboot3

How to use

Reference Wiki

Examples

License

Stream is based on the Apache License 2.0 agreement, and Stream relies on some third-party components whose open source agreement is also Apache License 2.0.

Contact

About

Streaming processing framework, source, channel, sink, support mqtt, Kafka and other components

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%