10adca5479
The `ManagementService` is used by the broker to register and unregister components for management as well as send notifications. When the broker is busy dealing with new sessions and auto-creating queues, addresses, etc. there is a lot of contention. To reduce synchronization and improve the service overall this commit does the following: - Remove `synchronized` from most methods. In most cases it's completely unnecessary because the methods are already using a thread-safe data-structure (e.g. `ConcurrentHashMap`) or more specific synchronization is already in place (e.g. on `mbeanServer`). - Adds new & clarifies existing logging. - Synchronizes `start` & `stop` methods and adds gates via `started`. - Simplifies the `sendNotification` method by synchronizing once rather than twice and performing legitimacy checks sooner. - Removing an unnecessary overload of the `registereQueue` method. To be clear, there are no tests included with this commit as there should be no semantic changes. Existing tests should be sufficient to identify any regressions. |
||
---|---|---|
.. | ||
src | ||
enable-log-bundle-annotation-processor | ||
pom.xml |