Skip to content

Stream supports lightweight messaging within Spring-based applications and supports integration with external systems through declarative adapters

License

Notifications You must be signed in to change notification settings

wendy512/stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 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 11 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>2.0.0</version>
</dependency>

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

<dependency>
    <groupId>io.github.wendy512</groupId>
    <artifactId>stream-mqtt</artifactId>
    <version>2.0.0</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>2.0.0</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>2.0.0</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

Stream supports lightweight messaging within Spring-based applications and supports integration with external systems through declarative adapters

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages