mirror of https://github.com/apache/cloudstack.git
Separate usage monitor from HA manager
This commit is contained in:
parent
58112a9e12
commit
56bc255355
|
|
@ -622,7 +622,7 @@
|
|||
<property name="Discoverers" value="#{resourceDiscoverers.Adapters}" />
|
||||
</bean>
|
||||
|
||||
<bean id="highAvailabilityManagerExtImpl" class="com.cloud.ha.HighAvailabilityManagerExtImpl" >
|
||||
<bean id="highAvailabilityManagerImpl" class="com.cloud.ha.HighAvailabilityManagerImpl" >
|
||||
<property name="Investigators" value="#{haInvestigators.Adapters}" />
|
||||
<property name="FenceBuilders" value="#{haFenceBuilders.Adapters}" />
|
||||
</bean>
|
||||
|
|
@ -698,6 +698,7 @@
|
|||
<bean id="virtualNetworkApplianceManagerImpl" class="com.cloud.network.router.VirtualNetworkApplianceManagerImpl" />
|
||||
<bean id="vpcManagerImpl" class="com.cloud.network.vpc.VpcManagerImpl" />
|
||||
<bean id="vpcVirtualNetworkApplianceManagerImpl" class="com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl" />
|
||||
<bean id="usageServerMonitor" class="com.cloud.usage.UsageServerMonitor" />
|
||||
|
||||
<!--
|
||||
Misc components
|
||||
|
|
|
|||
|
|
@ -14,36 +14,47 @@
|
|||
// KIND, either express or implied. See the License for the
|
||||
// specific language governing permissions and limitations
|
||||
// under the License.
|
||||
package com.cloud.ha;
|
||||
package com.cloud.usage;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.ejb.Local;
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.alert.AlertManager;
|
||||
import com.cloud.configuration.dao.ConfigurationDao;
|
||||
import com.cloud.usage.dao.UsageJobDao;
|
||||
import com.cloud.utils.component.ManagerBase;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
|
||||
@Local(value={HighAvailabilityManager.class})
|
||||
public class HighAvailabilityManagerExtImpl extends HighAvailabilityManagerImpl {
|
||||
/**
|
||||
* This class is detached from HighAvailabilityManagerImpl, I see no reason for it to inherit from
|
||||
* HighAvailabilityManagerImpl.
|
||||
*
|
||||
*/
|
||||
public class UsageServerMonitor extends ManagerBase {
|
||||
protected static final Logger s_logger = Logger.getLogger(UsageServerMonitor.class);
|
||||
|
||||
@Inject
|
||||
UsageJobDao _usageJobDao;
|
||||
@Inject UsageJobDao _usageJobDao;
|
||||
|
||||
@Inject ConfigurationDao configDao;
|
||||
@Inject AlertManager _alertMgr;
|
||||
|
||||
ScheduledExecutorService _executor;
|
||||
|
||||
@Override
|
||||
public boolean configure(final String name, final Map<String, Object> xmlParams) throws ConfigurationException {
|
||||
super.configure(name, xmlParams);
|
||||
return true;
|
||||
_executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("UsageServer-Monitor"));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -413,5 +413,5 @@ ALTER TABLE `cloud`.`async_job` ADD COLUMN `job_dispatcher` VARCHAR(64);
|
|||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `last_event` VARCHAR(64) DEFAULT 'OperationNop';
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `last_event_args` VARCHAR(256);
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `power_state` VARCHAR(74) DEFAULT 'PowerUnknown';
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `power_state_update_time` DATETIME DEFAULT NOW();
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD COLUMN `power_state_update_time` DATETIME;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue