I would like to implement a new PollableChannel implementation, but how could I bind it into the framework. This question might be better placed in the "Reference manual feedback" thread, since the reference manual contains litte about the beans and their wirings behind the (xml configuration) curtain... and debugging is not always a pleasure
Back to my use-case: my messages has dependencies on each other; processing order is defined by some timestamp-segment in the filename. Each file represent an event of an item in a DB ("new/update/delete item"). It can happen that an update arrives for such an item which is not in the DB at that time (because some asynch external system processes (and stores) the items). In this case I have to "delay" the update, more percisely have to delay all updates for that item and maintain the order of the delayed update files! So have to delay following updates irrespectively of the actual state of the DB item if a preceding update is currently beeing delayed!
(The original order can seamlessly be enforced by a custom comparator in the fileSource)
So thats why I've considered writing a custom MessageChannel, maintaining a list of PriorityQueues for each related delayed messages, and one queue for the 'normal', undelayed msgs. An interceptor in the external system reply queue might toggle enablement state of the related PriorityQueue.
Is it reasonable solution, or I missed something?
Lets suppose I write such a channel implementation, but how could i wire it into the SI infrastructure?