diff --git a/functions/consumer/file-consumer/README.adoc b/functions/consumer/file-consumer/README.adoc index 8c0e9467..f85a6403 100644 --- a/functions/consumer/file-consumer/README.adoc +++ b/functions/consumer/file-consumer/README.adoc @@ -17,10 +17,12 @@ 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]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `FileWritingMessageHandler` configuration used by the `fileConsumer`. + ## 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. \ No newline at end of file +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. diff --git a/functions/consumer/ftp-consumer/README.adoc b/functions/consumer/ftp-consumer/README.adoc index 90f3f140..baa6efd5 100644 --- a/functions/consumer/ftp-consumer/README.adoc +++ b/functions/consumer/ftp-consumer/README.adoc @@ -17,6 +17,8 @@ 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]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `FtpMessageHandlerSpec` configuration used by the `ftpConsumer`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/consumer/ftp[test suite] for the various ways, this consumer is used. diff --git a/functions/consumer/mongodb-consumer/README.adoc b/functions/consumer/mongodb-consumer/README.adoc index cc8e9522..236cf009 100644 --- a/functions/consumer/mongodb-consumer/README.adoc +++ b/functions/consumer/mongodb-consumer/README.adoc @@ -20,10 +20,12 @@ 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]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `ReactiveMongoDbStoringMessageHandler` configuration used by the `mongodbConsumer`. + ## Examples 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. \ No newline at end of file +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. diff --git a/functions/consumer/mqtt-consumer/README.adoc b/functions/consumer/mqtt-consumer/README.adoc index 5217496b..9204c0bf 100644 --- a/functions/consumer/mqtt-consumer/README.adoc +++ b/functions/consumer/mqtt-consumer/README.adoc @@ -16,6 +16,8 @@ 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]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `MongoDbMessageSource` configuration used by the `mongodbSupplier`. + ## SSL Configuration The MQTT Paho client can accept an SSL configuration via `MqttConnectOptions.setSSLProperties()`. @@ -28,4 +30,4 @@ See this link:src/test/java/org/springframework/cloud/fn/consumer/mqtt/MqttConsu ## 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. \ No newline at end of file +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. diff --git a/functions/consumer/rabbit-consumer/README.adoc b/functions/consumer/rabbit-consumer/README.adoc index ad4e0db9..c0531b36 100644 --- a/functions/consumer/rabbit-consumer/README.adoc +++ b/functions/consumer/rabbit-consumer/README.adoc @@ -16,9 +16,11 @@ 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]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `AmqpOutboundChannelAdapterSpec` configuration used by the `rabbitConsumer`. + ## 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. \ No newline at end of file +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. diff --git a/functions/consumer/sftp-consumer/README.adoc b/functions/consumer/sftp-consumer/README.adoc index 5d9efaee..39bd39d0 100644 --- a/functions/consumer/sftp-consumer/README.adoc +++ b/functions/consumer/sftp-consumer/README.adoc @@ -16,10 +16,12 @@ 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]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `SftpMessageHandlerSpec` configuration used by the `sftpConsumer`. + ## 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. \ No newline at end of file +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. diff --git a/functions/function/aggregator-function/README.adoc b/functions/function/aggregator-function/README.adoc index 2af08ebf..753fd1f7 100644 --- a/functions/function/aggregator-function/README.adoc +++ b/functions/function/aggregator-function/README.adoc @@ -16,6 +16,8 @@ Once injected, you can use the `apply` method of the `Function` to invoke it and For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/aggregator/AggregatorFunctionProperties.java[AggregatorFunctionProperties.java] +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `AggregatorFactoryBean` configuration used by the `aggregatorFunction` definition. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/aggregator/AggregatorFunctionApplicationTests.java[test suite] for examples of how this function is used. diff --git a/functions/supplier/file-supplier/README.adoc b/functions/supplier/file-supplier/README.adoc index 3102d81d..1179253c 100644 --- a/functions/supplier/file-supplier/README.adoc +++ b/functions/supplier/file-supplier/README.adoc @@ -26,10 +26,12 @@ There are also properties that need to be used with the prefix `file.consumer`. For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/file/FileSupplierProperties.java[FileSupplierProperties]. See link:src/main/java/org/springframework/cloud/fn/supplier/file/FileConsumerProperties.java[this] also. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `FileInboundChannelAdapterSpec` configuration used by the `fileSupplier`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/supplier/file[test suite] for the various ways, this supplier is used. ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/file-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a File Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/file-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a File Source. diff --git a/functions/supplier/ftp-supplier/README.adoc b/functions/supplier/ftp-supplier/README.adoc index 3cc9bb90..abca0e51 100644 --- a/functions/supplier/ftp-supplier/README.adoc +++ b/functions/supplier/ftp-supplier/README.adoc @@ -26,10 +26,12 @@ There are also properties that need to be used with the prefix `file.consumer`. For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/ftp/FtpSupplierProperties.java[FtpSupplierProperties]. See link:src/main/java/org/springframework/cloud/fn/supplier/file/FileConsumerProperties.java[this] also. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `FtpInboundChannelAdapterSpec` configuration used by the `ftpSupplier`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/supplier/ftp/FtpSupplierTests.java[test suite] for the various ways, this supplier is used. ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/ftp-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a File Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/ftp-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a File Source. diff --git a/functions/supplier/jdbc-supplier/README.adoc b/functions/supplier/jdbc-supplier/README.adoc index be307c4a..beba5d73 100644 --- a/functions/supplier/jdbc-supplier/README.adoc +++ b/functions/supplier/jdbc-supplier/README.adoc @@ -25,10 +25,12 @@ All configuration properties are prefixed with `jdbc.supplier`. For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/jdbc/JdbcSupplierProperties.java[JdbcSupplierProperties] +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `JdbcPollingChannelAdapter` configuration used by the `jdbcSupplier`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/supplier/jdbc[test suite] for the various ways, this supplier is used. ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/jdbc-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a JDBC Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/jdbc-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a JDBC Source. diff --git a/functions/supplier/jms-supplier/README.adoc b/functions/supplier/jms-supplier/README.adoc index edfc6103..4aa18754 100644 --- a/functions/supplier/jms-supplier/README.adoc +++ b/functions/supplier/jms-supplier/README.adoc @@ -24,10 +24,12 @@ All configuration properties are prefixed with `jms`. For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/jms/JmsSupplierProperties.java[JmsSupplierProperties]. +A `ComponentCustomizer>` bean can be added in the target project to provide any custom options for the `JmsMessageDrivenChannelAdapterSpec` configuration used by the `jmsSupplier`. + ## Examples See this link:src/test/java/org/springframework/cloud/fn/supplier/jms/[test suite] for the various ways, this supplier is used. ## Other usage -See this link:../../../applications/source/jms-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream JMS Source. \ No newline at end of file +See this link:../../../applications/source/jms-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream JMS Source. diff --git a/functions/supplier/mail-supplier/README.adoc b/functions/supplier/mail-supplier/README.adoc index 96544593..e5f1f4a1 100644 --- a/functions/supplier/mail-supplier/README.adoc +++ b/functions/supplier/mail-supplier/README.adoc @@ -25,10 +25,12 @@ All configuration properties are prefixed with `mail.supplier`. For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/mail/MailSupplierProperties.java[MailSupplierProperties]. +A `ComponentCustomizer>` (or `ComponentCustomizer` when `mail.supplier.idle-imap = true`) bean can be added in the target project to provide any custom options for the `MailInboundChannelAdapterSpec` (or `ImapIdleChannelAdapterSpec`, respectively) configuration used by the `mailSupplier`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/supplier/mail[test suite] for the various ways, this supplier is used. ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/mail-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a Mail Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/mail-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a Mail Source. diff --git a/functions/supplier/mongodb-supplier/README.adoc b/functions/supplier/mongodb-supplier/README.adoc index 4fb5ba42..ffe318b4 100644 --- a/functions/supplier/mongodb-supplier/README.adoc +++ b/functions/supplier/mongodb-supplier/README.adoc @@ -28,10 +28,12 @@ For more information on the various options available, please see link:src/main/ The `queryExpression` and `updateExpression` options may use Spring Data MongoDB query DSL from the `org.springframework.data.mongodb.core.query`, such as `Query` and `Update` factories respectively. The `updateExpression` is optional and ca use an item from query result as a root evaluation object to extract some values to update from just fetched data. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `MqttPahoMessageHandler` configuration used by the `mqttConsumer`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/supplier/mongo/MongodbSupplierApplicationTests.java[test suite] for the various ways, this supplier is used. ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/mongodb-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a MongoDB Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/mongodb-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a MongoDB Source. diff --git a/functions/supplier/mqtt-supplier/README.adoc b/functions/supplier/mqtt-supplier/README.adoc index 3c6c3e99..0fc7b2b7 100644 --- a/functions/supplier/mqtt-supplier/README.adoc +++ b/functions/supplier/mqtt-supplier/README.adoc @@ -24,6 +24,8 @@ All configuration properties are prefixed with `mqtt.supplier` and `mqtt`. For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/mqtt/MqttSupplierProperties.java[MqttSupplierProperties]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `MqttPahoMessageDrivenChannelAdapter` configuration used by the `mqttSupplier`. + ## SSL Configuration The MQTT Paho client can accept an SSL configuration via `MqttConnectOptions.setSSLProperties()`. @@ -37,4 +39,4 @@ In addition to this, there is also link:../../common/mqtt-common/src/main/java/o ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/mqtt-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes an MQTT Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/mqtt-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes an MQTT Source. diff --git a/functions/supplier/rabbit-supplier/README.adoc b/functions/supplier/rabbit-supplier/README.adoc new file mode 100644 index 00000000..c8015051 --- /dev/null +++ b/functions/supplier/rabbit-supplier/README.adoc @@ -0,0 +1,34 @@ +# RabbitMQ Supplier + +This module provides an RabbitMQ supplier that can be reused and composed in other applications. +The `Supplier` uses the RabbitMQ support provided by Spring Integration. +The `rabbitSupplier` is implemented as a `java.util.function.Supplier`. +This supplier gives you a reactive stream of files from the provided directory as the supplier has a signature of `Supplier>>`. +Users have to subscribe to this `Flux` and receive the data. + +## Beans for injection + +You can import the `RabbitSupplierConfiguration` in the application and then inject the following bean. + +`rabbitSupplier` + +You need to inject this as `Supplier>>`. + +You can use `rabbitSupplier` as a qualifier when injecting. + +Once injected, you can use the `get` method of the `Supplier` to invoke it and then subscribe to the returned `Flux`. + +## Configuration Options + +All configuration properties are prefixed with `rabbit.supplier`. + +For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/supplier/rabbit/RabbitSupplierProperties.java[RabbitSupplierProperties]. +Also see an auto-configuration for RabbitMQ connection and listener container options. + +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `AmqpInboundChannelAdapterSMLCSpec` configuration used by the `rabbitSupplier`. + +## Tests + +## Other usage + +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/rabbit-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes a RabbitMQ Source. diff --git a/functions/supplier/s3-supplier/README.adoc b/functions/supplier/s3-supplier/README.adoc index 973a03b4..e187ffc8 100644 --- a/functions/supplier/s3-supplier/README.adoc +++ b/functions/supplier/s3-supplier/README.adoc @@ -27,10 +27,12 @@ For more information on the various options available, please see link:src/main/ link:../../common/file-common/src/main/java/org/springframework/cloud/fn/common/file/FileConsumerProperties.java[FileConsumerProperties], and link:../../common/aws-s3-common/src/main/java/org/springframework/cloud/fn/common/aws/s3/AmazonS3Properties.java[AmazonS3Properties]. +A `ComponentCustomizer` bean can be added in the target project to provide any custom options for the `S3InboundFileSynchronizingMessageSource` configuration used by the `s3Supplier`. + ## Tests See this link:src/test/java/org/springframework/cloud/fn/supplier/s3[test suite] for the various ways, this supplier is used. ## Other usage -See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/s3-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes an AWS S3 Source. \ No newline at end of file +See this https://github.com/spring-cloud/stream-applications/blob/master/applications/source/s3-source/README.adoc[README] where this supplier is used to create a Spring Cloud Stream application where it makes an AWS S3 Source.