Skip to content

Latest commit

 

History

History
45 lines (28 loc) · 2.3 KB

File metadata and controls

45 lines (28 loc) · 2.3 KB

File Supplier

This module provides a File supplier that can be reused and composed in other applications. The Supplier uses the FileInboundChannelAdapter from Spring Integration. FileSupplier 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<Flux<Message<?>>>. Users have to subscribe to this Flux and receive the data.

This module also can be configured for file tailing functionality. The implementation and logic is fully based on respective Spring Integration Tailing Message Producer. The Supplier<Flux<Message<?>>> emits messages for each tailed line from the file.

Beans for injection

The FileSupplierConfiguration auto-configuration provides the following bean:

fileSupplier

You need to inject this as Supplier<Flux<Message<?>>>.

You can use fileSupplier 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 file.supplier. There are also properties that need to be used with the prefix file.consumer.

For more information on the various options available, please see FileSupplierProperties. See FileConsumerProperties also.

A ComponentCustomizer<FileInboundChannelAdapterSpec> bean can be added in the target project to provide any custom options for the FileInboundChannelAdapterSpec configuration used by the fileSupplier.

If file.supplier.tail option is provided, this supplier works in a tailing file mode. See FileSupplierProperties.Tailer container for more information. In tail mode, all other options for directory polling are ignored.

Tests

See this test suite for the various ways, this supplier is used.

Other usage

See this README where this supplier is used to create a Spring Cloud Stream application where it makes a File Source.