Updated Branches: refs/heads/javelin b274c570f -> cc23a2332
Fix startup sequence for classes that have due Manager/Adapter interfaces Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/cc23a233 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/cc23a233 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/cc23a233 Branch: refs/heads/javelin Commit: cc23a23324f31a30ab005a4a77a8b5899e99b910 Parents: b274c57 Author: Kelven Yang <[email protected]> Authored: Tue Jan 8 18:42:12 2013 -0800 Committer: Kelven Yang <[email protected]> Committed: Tue Jan 8 18:42:12 2013 -0800 ---------------------------------------------------------------------- client/tomcatconf/applicationContext.xml.in | 2 ++ .../com/cloud/baremetal/BareMetalResourceBase.java | 2 -- .../cloud/baremetal/BareMetalVmManagerImpl.java | 4 ---- .../src/com/cloud/server/ManagementServerImpl.java | 5 +++-- server/src/com/cloud/vm/UserVmManagerImpl.java | 2 +- 5 files changed, 6 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/client/tomcatconf/applicationContext.xml.in ---------------------------------------------------------------------- diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 34bb853..07c9aee 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -58,4 +58,6 @@ <bean id="eventBus" class = "org.apache.cloudstack.framework.eventbus.EventBusBase" /> + <bean id="userVmManager" class ="com.cloud.vm.UserVmManagerImpl" /> + </beans> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/server/src/com/cloud/baremetal/BareMetalResourceBase.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/baremetal/BareMetalResourceBase.java b/server/src/com/cloud/baremetal/BareMetalResourceBase.java index 2f679e7..8c14cce 100755 --- a/server/src/com/cloud/baremetal/BareMetalResourceBase.java +++ b/server/src/com/cloud/baremetal/BareMetalResourceBase.java @@ -23,7 +23,6 @@ import javax.ejb.Local; import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; import com.cloud.agent.IAgentControl; import com.cloud.agent.api.Answer; @@ -66,7 +65,6 @@ import com.cloud.utils.script.Script2.ParamType; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; -@Component @Local(value = ServerResource.class) public class BareMetalResourceBase implements ServerResource { private static final Logger s_logger = Logger.getLogger(BareMetalResourceBase.class); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java index c76fd37..f6b6a8e 100755 --- a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java +++ b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java @@ -28,8 +28,6 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.springframework.context.annotation.Primary; -import org.springframework.stereotype.Component; import com.cloud.agent.api.Answer; import com.cloud.agent.api.StopAnswer; @@ -104,8 +102,6 @@ import com.cloud.vm.VirtualMachineName; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VirtualMachineProfile.Param; -@Component -@Primary @Local(value={BareMetalVmManager.class, BareMetalVmService.class}) public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMetalVmManager, BareMetalVmService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/server/src/com/cloud/server/ManagementServerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 374d1ab..2c24ee1 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Comparator; import java.util.Date; -import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -453,7 +452,9 @@ public class ManagementServerImpl implements ManagementServer { Map<String, Object> params = new HashMap<String, Object>(); for(Adapter adapter : adapters.values()) { try { - if(!ComponentContext.isPrimary(adapter, Adapter.class)) + // we also skip Adapter class that is both a manager class and a adapter class + if(!ComponentContext.isPrimary(adapter, Adapter.class) || + Manager.class.isAssignableFrom(ComponentContext.getTargetClass(adapter))) continue; if(!adapter.configure(adapter.getClass().getSimpleName(), params)) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/cc23a233/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 09d5578..890c89b 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -36,6 +36,7 @@ import org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntity; import org.apache.cloudstack.engine.service.api.OrchestrationService; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import com.cloud.acl.ControlledEntity.ACLType; @@ -239,7 +240,6 @@ import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; -@Component @Local(value = { UserVmManager.class, UserVmService.class }) public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager { private static final Logger s_logger = Logger
