Fixes https://github.com/spring-projects/spring-integration/issues/3473 When `AbstractEndpoint.start()` and `AbstractEndpoint.isRunning()` are called from different thread on `synchronized` methods, we may end up with a dead lock: one thread waits for monitor on `synchronized` and another waits for the `lifecycleLock` * Change `AbstractEndpoint.isRunning()` to a plain `return this.running;` - there is no reason in a lock around returning this `volatile` property state **Cherry-pick to 5.4.x & 5.3.x**