From c9f589c4d5f397bd1049552bbaa04693b0895da4 Mon Sep 17 00:00:00 2001 From: hengsin Date: Tue, 15 Nov 2022 21:17:02 +0800 Subject: [PATCH] IDEMPIERE-5477 Concurrency issue for the use of OSGi Service Tracker (#1563) --- .../src/org/adempiere/base/ds/DynamicServiceHolder.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.adempiere.base/src/org/adempiere/base/ds/DynamicServiceHolder.java b/org.adempiere.base/src/org/adempiere/base/ds/DynamicServiceHolder.java index 00cd362263..de9dc2d537 100644 --- a/org.adempiere.base/src/org/adempiere/base/ds/DynamicServiceHolder.java +++ b/org.adempiere.base/src/org/adempiere/base/ds/DynamicServiceHolder.java @@ -37,8 +37,10 @@ public class DynamicServiceHolder implements IServiceHolder, IServicesHold */ public DynamicServiceHolder(ServiceTracker tracker) { serviceTracker = tracker; - if (serviceTracker.getTrackingCount() == -1) - serviceTracker.open(); + synchronized (serviceTracker) { + if (serviceTracker.getTrackingCount() == -1) + serviceTracker.open(); + } } @Override