Soby Chacko
2020-06-02 12:01:57 -04:00
committed by GitHub
parent a97045643c
commit a712c40705
12 changed files with 315 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
# Cassandra Consumer
This module provides a Cassandra Consumer that can be reused and composed in other applications.
Internally it uses the `CassandraMessageHandler` from Spring Integration.
`CassandraConsumerFunction` is implemented as a `java.util.function.Function`.
## Beans for injection
You can import the `CassnadraConsumerConfiguration` in the application and then inject the following bean.
`cassandraConsumerFunction`
You can use `cassandraConsumerFunction` as a qualifier when injecting.
Type for injection: `Function<Object, Mono<? extends WriteResult>>`
You can ignore the return value from the function as this is a consumer and simply will send the data to Cassandra.
## Configuration Options
All configuration properties are prefixed with either `cassandra` or `cassandra.cluster`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/cassandra/CassandraConsumerProperties.java[CassandraConsumerProperties].
See link:src/main/java/org/springframework/cloud/fn/consumer/cassandra/cluster/CassandraClusterProperties.java[this] also.
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/cassandra[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/cassandra-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a Cassandra sink.

View File

@@ -0,0 +1,28 @@
# Counter Consumer
A consumer that allows to compute multiple consumers from an incoming message.
It uses micrometer internally and can use various popular TSDB technologies to persist the counter values.
It is worth to look at the https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/counter-sink/README.adoc[counter-sink] where this consumer is used to create a Spring Cloud Stream based counter sink.
## Beans for injection
You can import `CounterConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> counterConsumer`
You can use `counterConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `counter`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/counter/CounterConsumerProperties.java[CounterConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/counter[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/counter-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a Counter sink.

View File

@@ -0,0 +1,26 @@
# File Consumer
A consumer that allows you to write incoming messages into files.
The consumer uses the `FileWritingMessageHandler` from Spring Integration.
## Beans for injection
You can import `FileConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> fileConsumer`
You can use `fileConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `file.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/file/FileConsumerProperties.java[FileConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/file[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/file-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a File sink.

View File

@@ -0,0 +1,26 @@
# Ftp Consumer
A consumer that allows you to ftp files.
The consumer uses the `FtpMessageHandler` from Spring Integration.
## Beans for injection
You can import `FtpConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> ftpConsumer`
You can use `ftpConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `ftp.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/ftp/FtpConsumerProperties.java[FtpConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/ftp[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/ftp-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a Ftp sink.

View File

@@ -0,0 +1,26 @@
# Jdbc Consumer
A consumer that allows you to insert records into a relational database.
The consumer uses the `JdbcMessageHandler` from Spring Integration.
## Beans for injection
You can import `JdbcConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> jdbcConsumer`
You can use `jdbcConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `jdbc.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/jdbc/JdbcConsumerProperties.java[JdbcConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/jdbc[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/jdbc-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a Jdbc sink.

View File

@@ -0,0 +1,26 @@
# Log Consumer
A consumer that allows you to log the data
The consumer uses the `LoggingMessageHandler` from Spring Integration.
## Beans for injection
You can import `LogConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> logConsumer`
You can use `logConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `log`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/log/LogConsumerProperties.java[LogConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/log/LogConsumerApplicationTests.java[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/log-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a Log sink.

View File

@@ -0,0 +1,27 @@
# MongoDB Consumer
A consumer that allows you to insert records into MongoDB.
## Beans for injection
You can import `MongoDbConsumerConfiguration` in the application and then inject the following bean.
`Function<Message<?>, Mono<Void>> mongodbConsumer`
You can use `mongodbConsumer` as a qualifier when injecting.
The return value from the function can be ignored as this is used as a consumer to send records to MongoDB.
## Configuration Options
All configuration properties are prefixed with `mongodb.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/mongo/MongoDBConsumerProperties.java[MongoDBConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/mongo/MongoDBConsumerApplicationTests.java[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/mongodb-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a MongoDB sink.

View File

@@ -0,0 +1,25 @@
# MQTT Consumer
A consumer that allows you to send messages using the MQTT protocol.
## Beans for injection
You can import `MqttConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> mqttConsumer`
You can use `mqttConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `mqtt.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/mqtt/MqttConsumerProperties.java[MqttConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/mqtt/MqttConsumerTests.java[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/mqtt-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a MQTT sink.

View File

@@ -0,0 +1,24 @@
# RabbitMQ Consumer
A consumer that allows you to send messages to RabbitMQ.
## Beans for injection
You can import `RabbitConsumerConfiguration` in the application and then inject the following bean.
`Function<Message<?>, Object> rabbitConsumer`
You can use `rabbitConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `rabbit`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/rabbit/RabbitConsumerProperties.java[RabbitConsumerProperties].
## Tests
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/rabbit-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a RabbitMQ sink.

View File

@@ -0,0 +1,25 @@
# Redis Consumer
A consumer that allows you to write incoming messages into Redis.
## Beans for injection
You can import `RedisConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> redisConsumer`
You can use `redisConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `redis.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/redis/RedisConsumerProperties.java[RedisConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/redis[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/redis-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a Redis sink.

View File

@@ -0,0 +1,25 @@
# SFTP Consumer
A consumer that allows you to SFTP files.
## Beans for injection
You can import `SftpConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> sftpConsumer`
You can use `sftpConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `sftp.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/sftp/SFTPConsumerProperties.java[SftpConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/sftp[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/sftp-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a SFTP sink.

View File

@@ -0,0 +1,25 @@
# TCP Consumer
A consumer that allows you to send TCP messages.
## Beans for injection
You can import `TcpConsumerConfiguration` in the application and then inject the following bean.
`Consumer<Message<?>> tcpConsumer`
You can use `tcpConsumer` as a qualifier when injecting.
## Configuration Options
All configuration properties are prefixed with `tcp.consumer`.
For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/consumer/tcp/TCPConsumerProperties.java[TcpConsumerProperties].
## Tests
See this link:src/test/java/org/springframework/cloud/fn/consumer/tcp[test suite] for the various ways, this consumer is used.
## Other usage
See this https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/tcp-sink/README.adoc[README] where this consumer is used to create a Spring Cloud Stream application where it makes a TCP sink.