convert existing singleton objects into Spring loadable bean components

This commit is contained in:
Kelven Yang 2013-01-08 11:07:22 -08:00
parent b96bb8feb9
commit 992fa473be
3 changed files with 8 additions and 15 deletions

View File

@ -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) {

View File

@ -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) {

View File

@ -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];
}
}