fix NPE in localhostendpoint

This commit is contained in:
Edison Su 2013-07-17 10:15:38 -07:00
parent 53e6a1c0fa
commit 4bbaac2d28
2 changed files with 7 additions and 1 deletions

View File

@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit;
import com.cloud.configuration.Config;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.configuration.dao.ConfigurationDaoImpl;
import com.cloud.utils.component.ComponentContext;
import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
import org.apache.cloudstack.storage.command.CopyCommand;
@ -56,6 +57,11 @@ public class LocalHostEndpoint implements EndPoint {
executor = Executors.newScheduledThreadPool(10);
}
public static EndPoint getEndpoint() {
LocalHostEndpoint endpoint = ComponentContext.inject(LocalHostEndpoint.class);
return endpoint;
}
@Override
public long getId() {
// TODO Auto-generated method stub

View File

@ -191,7 +191,7 @@ public class DefaultEndPointSelector implements EndPointSelector {
// we can arbitrarily pick one ssvm to do that task
List<HostVO> ssAHosts = listUpAndConnectingSecondaryStorageVmHost(dcId);
if (ssAHosts == null || ssAHosts.isEmpty()) {
return new LocalHostEndpoint(); // use local host as endpoint in
return LocalHostEndpoint.getEndpoint(); // use local host as endpoint in
// case of no ssvm existing
}
Collections.shuffle(ssAHosts);