- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.1k
 
Spring Integration 6.0 to 6.1 Migration Guide
Previously deprecated org.springframework.integration.mqtt.core.ConsumerStopAction and its functionality has been removed in favor of existing org.eclipse.paho.client.mqttv3.ConnectionOptions.cleanSession option.
According to distributed systems design and bad experience of demo developing it is not OK to block forever.
Most of the timeouts in the framework are now 30 seconds by default.
They were previously -1 or Long.MIN_VALUE which means wait for operation completion indefinitely.
Only one remained as 1 seconds is a PollingConsumer where it is better to not block even for those 30 seconds when no messages in the queue, but let the polling task be rescheduled.
This fixed the problem with a single thread in a pool for auto-configured TaskScheduler.
Now with a 1 second of wait time we are able to switch to other scheduled tasks even with only 1 thread in the pool.
The MessageFilter now emits a WARN logging message when a Message is dropped: no discardChannel and throwExceptionOnRejection is false.
Essentially, a default behavior of the filter is to not be silent, but rather WARN in the logs.
If the previous behavior is acceptable, it is recommended to set a nullChannel as a discardChannel for filter endpoint.