| I'm curious, why are Services being initialized concurrently? As far as I had understood the (original?) intent of the ServiceRegistry, it's supposed to allow retrieving (i.e. read-only) services efficiently and in parallel, but its design was pretty much relying on the fact that Hibernate's bootstrap is performed by a single thread. The underlying data structures are designed to be safe and fast for parallel reads, but the lifecycle handling of services is not designed for parallel bootup and teardown. |