Jun 1st, 2010, 11:19 AM
Spring integration and throttling, windowing approaches
I'm a newbie to Spring Integration and have a few questions.
Does the same thread handle a request through a pipeline to an endpoint or gateway or are separate threads used at each channel? It would be simpler if the request uses the same thread as the message travels though the message bus.
How would throttling be handled in SPring Integration? For instance if Spring integration was used to connect to an external system and that system could only handle at most 10 messages per second, what strategies or approaches could be used with Spring Integration to support this?
Is windowing supported in Spring Integration? Windowing addresses the maximum number of connections to an endpoint or gateway. So If the external application could only handled 10 connections concurrently then the requests to a gateway would be blocked until a slot or window is available after which the slot is used for a new request.
Can each channel or the message bus as a whole be managed? The scenario I'm envisaging is that the message system may need to quiesce so any requests in the middle of processing could be temporarily curtailed. Any subsequent request could be queued until the system is re-enabled at a later time afterwhich the messages would be processed as normal? Is this a bespoke solution or something SI could handle out of the box?
Thanks in advance for any guidance.
Tags for this Thread