INT-3457: Backport commits to 2.2.x

JIRA: https://jira.spring.io/browse/INT-3457

Backport for:
https://jira.spring.io/browse/INT-3120
https://jira.spring.io/browse/INT-3305
https://jira.spring.io/browse/INT-3410
https://jira.spring.io/browse/INT-3433
https://jira.spring.io/browse/INT-3453


The https://jira.spring.io/browse/INT-3123 can't be backported bacause it depends on https://jira.spring.io/browse/INT-3103, but `TcpEvents` have been introduced since **3.0**
Why do we need derby?