-
Type:
Bug
-
Status: Closed
-
Resolution: Fixed
-
Affects Version/s: 7.0.X, Master
-
Fix Version/s: 7.0.0 DXP FP97, 7.0.X, 7.1.10 DXP FP10, 7.1.10.2 SP2, 7.1.3 CE GA4, 7.1.X, 7.3.10 DXP GA1, Master
-
Component/s: Core Infrastructure
-
Branch Version/s:7.1.x, 7.0.x
-
Backported to Branch:Committed
-
Git Pull Request:
We were using bundle tracker to register/unregister class loader to ClassLoaderPool, so that each bundle will have its own entry in ClassLoaderPool when it is activated.
We have some usages of ClassLoaderPool in service tracker of a service published by same bundle.
The problem is the order, since OSGi does not guarantee the order of bundle tracker and service tracker, both of them are listeners of same event (the STARTED event when refreshing a budle), it may happen that ClassLoaderPool is not populated when it is used in service tracker.
The solution is to change the bundle tracker's scope, make it track STARTING state which happens before service is published.
- is a dependency of
-
LPS-91938 Portal starts to fail after refreshing com.liferay.portal.template.freemarker module
- Closed