-
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.