mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-15 18:12:35 +01:00
convert existing singleton objects into Spring loadable bean components
This commit is contained in:
parent
b96bb8feb9
commit
992fa473be
@ -30,6 +30,7 @@ import java.util.regex.Matcher;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.api.BaseCmd.CommandType;
|
||||
import com.cloud.api.commands.ListEventsCmd;
|
||||
@ -46,7 +47,6 @@ import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
import com.cloud.utils.DateUtil;
|
||||
import com.cloud.utils.component.ComponentContext;
|
||||
import com.cloud.utils.component.ComponentLocator;
|
||||
import com.cloud.utils.component.PluggableService;
|
||||
import com.cloud.utils.exception.CSExceptionErrorCode;
|
||||
@ -56,6 +56,7 @@ import com.cloud.uuididentity.dao.IdentityDao;
|
||||
/**
|
||||
* A class that dispatches API commands to the appropriate manager for execution.
|
||||
*/
|
||||
@Component
|
||||
public class ApiDispatcher {
|
||||
private static final Logger s_logger = Logger.getLogger(ApiDispatcher.class.getName());
|
||||
|
||||
@ -66,14 +67,11 @@ public class ApiDispatcher {
|
||||
private static ApiDispatcher s_instance;
|
||||
|
||||
public static ApiDispatcher getInstance() {
|
||||
if(s_instance == null) {
|
||||
s_instance = new ApiDispatcher();
|
||||
s_instance = ComponentContext.inject(s_instance);
|
||||
}
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
public ApiDispatcher() {
|
||||
s_instance = this;
|
||||
}
|
||||
|
||||
public void dispatchCreateCmd(BaseAsyncCreateCmd cmd, Map<String, String> params) {
|
||||
|
||||
@ -32,6 +32,7 @@ import javax.inject.Inject;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.agent.AgentManager;
|
||||
import com.cloud.agent.AgentManager.OnError;
|
||||
@ -60,8 +61,6 @@ import com.cloud.storage.dao.StoragePoolHostDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.secondary.SecondaryStorageVmManager;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.ComponentContext;
|
||||
import com.cloud.utils.component.ComponentLocator;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.vm.UserVmManager;
|
||||
@ -73,6 +72,7 @@ import com.cloud.vm.dao.UserVmDao;
|
||||
* Provides real time stats for various agent resources up to x seconds
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class StatsCollector {
|
||||
public static final Logger s_logger = Logger.getLogger(StatsCollector.class.getName());
|
||||
|
||||
@ -106,18 +106,13 @@ public class StatsCollector {
|
||||
public static StatsCollector getInstance() {
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
public static StatsCollector getInstance(Map<String, String> configs) {
|
||||
if (s_instance == null) {
|
||||
|
||||
s_instance = new StatsCollector();
|
||||
s_instance = ComponentContext.inject(s_instance);
|
||||
s_instance.init(configs);
|
||||
|
||||
}
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
public StatsCollector() {
|
||||
s_instance = this;
|
||||
}
|
||||
|
||||
private void init(Map<String, String> configs) {
|
||||
|
||||
@ -70,7 +70,7 @@ public class ComponentContext implements ApplicationContextAware {
|
||||
return entry.getValue();
|
||||
}
|
||||
|
||||
s_logger.warn("Unable to uniquely locate bean type " + beanType.getName(), e);
|
||||
s_logger.warn("Unable to uniquely locate bean type " + beanType.getName());
|
||||
return (T)matchedTypes.values().toArray()[0];
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user