tree a131f4fba6a4684d3614cfa9152bd61f0856e1e2
parent ecbbcee95ae33776573bfa20ff6170e972967478
author Ondro Mihalyi <mihalyi@omnifish.ee> 1772519890 +0100
committer Ondro Mihalyi <mihalyi@omnifish.ee> 1780957656 +0200

Fix memory leak (#6075)

* Fix memory leak

beanManager was set to threadLocal from a configurator that was post-init 
after the ComponentProvider configurator which is supposed to free the thread local. The beanManager  thread local was never removed afterwards.
I switched the order of calling post-init so that configurators go in reversed order compared to calling init

* Fix memory leak - fix failing tests

Revert the change to run postInit on all configurators in reversed order. Instead run postInit only on the specific Component configurator last, while initialize runs in the original order. This cleans up thread locals safely, without changing the order of other configurators, which was breking other functionality.