Currently as far as I understand, there is no option in Spring Batch to have a dynamic composite reader/processor/writer
The idea is to have the ability to replace processor at runtime, and in case of multiple processors (AKA composite-processor), to have the option to add/remove/replace/change order of processors. As mentioned, same for reader/writer.
I thought of something like reading the processors list from DB (using cache?) and there the items (beans' names) can be changed. Does this make sense?
why is this required?
There are cases that I use processors as "filters", and it may occur that the business (the client) may change the requirements (yes, it is very annoying) and ask to switch among filters (change the priority).
Other use case is having multiple readers to get the data from different data warehouse, and again - the client changes the warehouse from time to time (integration phase), and I do not want my app to be restarted each and every time.
There are many other use cases, of course. (other cases can be found in StackOverflow, where people ask for this feature) .
following this: https://stackoverflow.com/questions/46695238/spring-batch-dynamic-composite-reader-processor-writer
and this JIRA item : https://jira.spring.io/browse/BATCH-2644
Currently as far as I understand, there is no option in Spring Batch to have a dynamic composite reader/processor/writer The idea is to have the ability to replace processor at runtime, and in case of multiple processors (AKA composite-processor), to have the option to add/remove/replace/change order of processors. As mentioned, same for reader/writer. I thought of something like reading the processors list from DB (using cache?) and there the items (beans' names) can be changed. Does this make sense? why is this required? There are cases that I use processors as "filters", and it may occur that the business (the client) may change the requirements (yes, it is very annoying) and ask to switch among filters (change the priority). Other use case is having multiple readers to get the data from different data warehouse, and again - the client changes the warehouse from time to time (integration phase), and I do not want my app to be restarted each and every time. There are many other use cases, of course. (other cases can be found in StackOverflow, where people ask for this feature) .