From 45a92ba369418d5a64f726b23905015c101cc6df Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Wed, 23 Jan 2013 15:29:41 -0800 Subject: [PATCH] Fix the initialization of management server --- .../DataStoreProviderManagerImpl.java | 4 +-- .../network/element/NiciraNvpElement.java | 3 +-- .../kvm/discoverer/KvmServerDiscoverer.java | 2 -- .../utils/component/ComponentContext.java | 25 ++++++++----------- 4 files changed, 14 insertions(+), 20 deletions(-) diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java index 692e84bf5d5..1ced37a35d1 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java @@ -58,7 +58,7 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager { public boolean configure(String name, Map params) throws ConfigurationException { - +/* //TODO: hold global lock List providerVos = providerDao.listAll(); for (DataStoreProvider provider : providers) { @@ -86,7 +86,7 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager { provider.configure(params); providerMap.put(uuid, provider); } - + */ return true; } diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java index 244c19bf7f0..3ca34473cd7 100644 --- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java +++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java @@ -206,8 +206,7 @@ NiciraNvpElementService, ResourceStateAdapter, IpDeployer { public boolean configure(String name, Map params) throws ConfigurationException { super.configure(name, params); - _resourceMgr.registerResourceStateAdapter(this.getClass() - .getSimpleName(), this); + _resourceMgr.registerResourceStateAdapter(name, this); return true; } diff --git a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java index 128c20ccb32..76626205f45 100644 --- a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java +++ b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java @@ -392,6 +392,4 @@ Listener, ResourceStateAdapter { _resourceMgr.unregisterResourceStateAdapter(this.getClass().getSimpleName()); return super.stop(); } - - } diff --git a/utils/src/com/cloud/utils/component/ComponentContext.java b/utils/src/com/cloud/utils/component/ComponentContext.java index a70cca95e04..7516442bfc8 100644 --- a/utils/src/com/cloud/utils/component/ComponentContext.java +++ b/utils/src/com/cloud/utils/component/ComponentContext.java @@ -18,12 +18,11 @@ package com.cloud.utils.component; import java.util.ArrayList; -import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.PostConstruct; +import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.log4j.Logger; @@ -51,24 +50,22 @@ import com.cloud.utils.db.TransactionContextBuilder; public class ComponentContext implements ApplicationContextAware { private static final Logger s_logger = Logger.getLogger(ComponentContext.class); - private static ApplicationContext s_appContext; + private static ApplicationContext s_appContext; + @Inject List daos; + @Inject List mgrs; + @Inject List adapters; + @Override public void setApplicationContext(ApplicationContext applicationContext) { - s_appContext = applicationContext; + s_appContext = applicationContext; } public static ApplicationContext getApplicationContext() { return s_appContext; - } - - @PostConstruct - public void initComponentsLifeCycle() { - @SuppressWarnings("rawtype") - Collection daos = ComponentContext.getApplicationContext().getBeansOfType(GenericDao.class).values(); - Collection mgrs = ComponentContext.getApplicationContext().getBeansOfType(Manager.class).values(); - Collection adapters = ComponentContext.getApplicationContext().getBeansOfType(Adapter.class).values(); - + } + + public void init() { Map params = new HashMap(); for (GenericDao dao : daos) { try { @@ -80,7 +77,7 @@ public class ComponentContext implements ApplicationContextAware { } } - List avoidMap = new ArrayList(); + List avoidMap = new ArrayList(); for (Manager manager : mgrs) { if (avoidMap.contains(manager.getName())) { s_logger.info("Skip manager: " + ComponentContext.getTargetClass(manager).getName() + " as it is already started");