Synchronize plugin register

merge-requests/7/head
manoj 10 years ago
parent aa8de8cb23
commit 0e18ebcf4e

@ -61,6 +61,8 @@ import org.wso2.carbon.user.core.service.RealmService;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/** /**
* @scr.component name="org.wso2.carbon.device.manager" immediate="true" * @scr.component name="org.wso2.carbon.device.manager" immediate="true"
@ -153,9 +155,11 @@ public class DeviceManagementServiceComponent {
} }
public static void registerPluginInitializationListener(PluginInitializationListener listener) { public static void registerPluginInitializationListener(PluginInitializationListener listener) {
listeners.add(listener); synchronized (LOCK) {
for(DeviceManagementService deviceManagementService:deviceManagers){ listeners.add(listener);
listener.registerDeviceManagementService(deviceManagementService); for (DeviceManagementService deviceManagementService : deviceManagers) {
listener.registerDeviceManagementService(deviceManagementService);
}
} }
} }
@ -238,9 +242,11 @@ public class DeviceManagementServiceComponent {
log.debug("Setting Device Management Service Provider: '" + log.debug("Setting Device Management Service Provider: '" +
deviceManagementService.getProviderType() + "'"); deviceManagementService.getProviderType() + "'");
} }
deviceManagers.add(deviceManagementService); synchronized (LOCK) {
for (PluginInitializationListener listener : listeners) { deviceManagers.add(deviceManagementService);
listener.registerDeviceManagementService(deviceManagementService); for (PluginInitializationListener listener : listeners) {
listener.registerDeviceManagementService(deviceManagementService);
}
} }
} }

Loading…
Cancel
Save