Roy Golan has uploaded a new change for review. Change subject: core: make EventQueue a CDI Singleton, dump jndi ......................................................................
core: make EventQueue a CDI Singleton, dump jndi - EventQueueMonitor is now a Singleton bean - drop jndi usage and use CDI instead Change-Id: I966e995dd10b93d968cec135f10ab55f1bd729a7 Signed-off-by: Roy Golan <rgo...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/eventqueue/EventQueueMonitor.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommandTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/FenceValidatorTest.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java 11 files changed, 86 insertions(+), 77 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/42/40642/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java index 3cab44d..403a493 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java @@ -65,13 +65,12 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AlertDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; import org.ovirt.engine.core.dao.gluster.GlusterServerDao; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; import org.ovirt.engine.core.utils.lock.EngineLock; import org.ovirt.engine.core.vdsbroker.attestation.AttestationService; import org.ovirt.engine.core.vdsbroker.attestation.AttestationValue; import org.ovirt.engine.core.vdsbroker.irsbroker.IrsBrokerCommand; + +import javax.inject.Inject; /** * Initialize Vds on its loading. For storages: First connect all storage @@ -88,6 +87,8 @@ private boolean connectPoolSucceeded; private boolean glusterHostUuidFound, glusterPeerListSucceeded, glusterPeerProbeSucceeded; private static Integer MAX_RETRIES_GLUSTER_PROBE_STATUS; + @Inject + private EventQueue eventQueue; public InitVdsOnUpCommand(HostStoragePoolParametersBase parameters) { super(parameters); @@ -242,8 +243,12 @@ private EventResult connectHostToPool() { final VDS vds = getVds(); EventResult result = - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync(new Event(getStoragePool().getId(), - null, vds.getId(), EventType.VDSCONNECTTOPOOL, "Trying to connect host " + vds.getHostName() + " with id " + vds.getId() + " to the pool " + getStoragePool().getId()), + eventQueue.submitEventSync(new Event(getStoragePool().getId(), + null, + vds.getId(), + EventType.VDSCONNECTTOPOOL, + "Trying to connect host " + vds.getHostName() + " with id " + vds.getId() + + " to the pool " + getStoragePool().getId()), new Callable<EventResult>() { @Override public EventResult call() { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java index 4e61f27..3144af8 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java @@ -67,9 +67,6 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; import org.ovirt.engine.core.di.Injector; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; import org.ovirt.engine.core.utils.linq.Function; import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.lock.EngineLock; @@ -86,6 +83,8 @@ @Inject Instance<ResourceManager> resourceManagerProvider; + @Inject + EventQueue eventQueue; private static final Logger log = LoggerFactory.getLogger(VdsEventListener.class); @@ -140,7 +139,7 @@ * @param vds */ private void clearDomainCache(final VDS vds) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync(new Event(vds.getStoragePoolId(), + eventQueue.submitEventSync(new Event(vds.getStoragePoolId(), null, vds.getId(), EventType.VDSCLEARCACHE, ""), new Callable<EventResult>() { @Override @@ -237,7 +236,9 @@ new SetNonOperationalVdsParameters(vdsId, reason, customLogValues); tempVar.setStorageDomainId(domainId); tempVar.setShouldBeLogged(logCommand); - Backend.getInstance().runInternalAction(VdcActionType.SetNonOperationalVds, tempVar, ExecutionHandler.createInternalJobContext()); + Backend.getInstance().runInternalAction(VdcActionType.SetNonOperationalVds, + tempVar, + ExecutionHandler.createInternalJobContext()); } @Override @@ -310,16 +311,16 @@ private List<VdcActionParametersBase> createMigrateVmToServerParametersList(List<VmStatic> vmsToMigrate, final VDS vds) { return LinqUtils.transformToList(vmsToMigrate, new Function<VmStatic, VdcActionParametersBase>() { - @Override - public VdcActionParametersBase eval(VmStatic vm) { - MigrateVmToServerParameters parameters = - new MigrateVmToServerParameters(false, - vm.getId(), - vds.getId()); - parameters.setShouldBeLogged(false); - return parameters; - } - }); + @Override + public VdcActionParametersBase eval(VmStatic vm) { + MigrateVmToServerParameters parameters = + new MigrateVmToServerParameters(false, + vm.getId(), + vds.getId()); + parameters.setShouldBeLogged(false); + return parameters; + } + }); } @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/eventqueue/EventQueueMonitor.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/eventqueue/EventQueueMonitor.java index 9fbcbc9..b3393e5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/eventqueue/EventQueueMonitor.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/eventqueue/EventQueueMonitor.java @@ -10,13 +10,6 @@ import java.util.concurrent.FutureTask; import java.util.concurrent.locks.ReentrantLock; -import javax.ejb.ConcurrencyManagement; -import javax.ejb.ConcurrencyManagementType; -import javax.ejb.Local; -import javax.ejb.Singleton; -import javax.ejb.TransactionAttribute; -import javax.ejb.TransactionAttributeType; - import org.ovirt.engine.core.common.eventqueue.Event; import org.ovirt.engine.core.common.eventqueue.EventQueue; import org.ovirt.engine.core.common.eventqueue.EventResult; @@ -27,10 +20,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Singleton(name = "EventQueue") -@ConcurrencyManagement(ConcurrencyManagementType.BEAN) -@TransactionAttribute(TransactionAttributeType.SUPPORTS) -@Local(EventQueue.class) +import javax.inject.Singleton; + +@Singleton public class EventQueueMonitor implements EventQueue { private static final Logger log = LoggerFactory.getLogger(EventQueueMonitor.class); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java index ffcc097..bfaf01b 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ActivateStorageDomainCommand.java @@ -27,7 +27,6 @@ import org.ovirt.engine.core.common.businessentities.StoragePoolStatus; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.eventqueue.Event; -import org.ovirt.engine.core.common.eventqueue.EventQueue; import org.ovirt.engine.core.common.eventqueue.EventResult; import org.ovirt.engine.core.common.eventqueue.EventType; import org.ovirt.engine.core.common.locks.LockingGroup; @@ -37,11 +36,9 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.TransactionScopeOption; import org.ovirt.engine.core.dal.dbbroker.DbFacade; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; + @NonTransactiveCommandAttribute(forceCompensation=true) public class ActivateStorageDomainCommand<T extends StorageDomainPoolParametersBase> extends @@ -150,7 +147,7 @@ private void refreshAllVdssInPool() { final List<Guid> vdsIdsToSetNonOperational = new ArrayList<Guid>(); - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync( + getEventQueue().submitEventSync( new Event(getParameters().getStoragePoolId(), getParameters().getStorageDomainId(), null, EventType.POOLREFRESH, ""), new Callable<EventResult>() { @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java index 181373e..6d6216a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommand.java @@ -28,7 +28,6 @@ import org.ovirt.engine.core.common.businessentities.VmStatic; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.eventqueue.Event; -import org.ovirt.engine.core.common.eventqueue.EventQueue; import org.ovirt.engine.core.common.eventqueue.EventResult; import org.ovirt.engine.core.common.eventqueue.EventType; import org.ovirt.engine.core.common.locks.LockingGroup; @@ -40,9 +39,6 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.linq.Predicate; import org.ovirt.engine.core.utils.transaction.TransactionMethod; @@ -272,7 +268,7 @@ } if (!getParameters().isInactive()) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync( + getEventQueue().submitEventSync( new Event(getParameters().getStoragePoolId(), getParameters().getStorageDomainId(), null, EventType.POOLREFRESH, ""), new Callable<EventResult>() { @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java index 9d219fd..427c341 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java @@ -19,14 +19,10 @@ import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.errors.VdcFault; import org.ovirt.engine.core.common.eventqueue.Event; -import org.ovirt.engine.core.common.eventqueue.EventQueue; import org.ovirt.engine.core.common.eventqueue.EventResult; import org.ovirt.engine.core.common.eventqueue.EventType; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; @NonTransactiveCommandAttribute public class RecoveryStoragePoolCommand extends StorageDomainCommandBase<ReconstructMasterParameters> { @@ -105,10 +101,10 @@ if (StorageHelperDirector.getInstance().getItem(newMasterDomain.getStorageType()) .connectStorageToDomainByVdsId(newMasterDomain, getVds().getId())) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync(new Event(getParameters().getStoragePoolId(), - getParameters().getNewMasterDomainId(), - null, - EventType.RECOVERY, ""), + getEventQueue().submitEventSync(new Event(getParameters().getStoragePoolId(), + getParameters().getNewMasterDomainId(), + null, + EventType.RECOVERY, ""), new Callable<EventResult>() { @Override public EventResult call() { @@ -124,7 +120,9 @@ getParameters().setVdsId(getVds().getId()); VdcReturnValueBase returnVal = runInternalAction( - VdcActionType.ReconstructMasterDomain, getParameters(), cloneContextAndDetachFromParent()); + VdcActionType.ReconstructMasterDomain, + getParameters(), + cloneContextAndDetachFromParent()); boolean reconstructVerbExecuted = (returnVal.getActionReturnValue() != null) ? (Boolean) returnVal.getActionReturnValue() : false; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java index 89b51b4..52a8b40 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java @@ -46,17 +46,19 @@ import org.ovirt.engine.core.dao.LunDAO; import org.ovirt.engine.core.dao.SnapshotDao; import org.ovirt.engine.core.dao.StorageServerConnectionDAO; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.linq.Predicate; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; +import javax.inject.Inject; + public abstract class StorageDomainCommandBase<T extends StorageDomainParametersBase> extends StorageHandlingCommandBase<T> { + + @Inject + protected EventQueue eventQueue; protected StorageDomainCommandBase(T parameters) { this(parameters, null); @@ -333,15 +335,19 @@ } protected void disconnectAllHostsInPool() { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync( - new Event(getParameters().getStoragePoolId(), getParameters().getStorageDomainId(), null, EventType.POOLREFRESH, ""), + getEventQueue().submitEventSync( + new Event(getParameters().getStoragePoolId(), + getParameters().getStorageDomainId(), + null, + EventType.POOLREFRESH, + ""), new Callable<EventResult>() { @Override public EventResult call() { runSynchronizeOperation(new RefreshStoragePoolAndDisconnectAsyncOperationFactory()); return null; } - }); + }); } /** @@ -496,4 +502,8 @@ protected boolean isCinderStorageDomain() { return getStorageDomain().getStorageType().isCinderDomain(); } + + public EventQueue getEventQueue() { + return eventQueue; + } } diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommandTest.java index 559d764..db12538 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/DeactivateStorageDomainCommandTest.java @@ -17,6 +17,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; import org.ovirt.engine.core.CommandMocks; import org.ovirt.engine.core.bll.context.CompensationContext; @@ -77,6 +78,8 @@ private VmStaticDAO vmStaticDAO; @Mock private VmDynamicDAO vmDynamicDAO; + @Mock + private EventQueue eventQueue; StoragePoolIsoMap map = new StoragePoolIsoMap(); @@ -89,11 +92,13 @@ DeactivateStorageDomainCommand<StorageDomainPoolParametersBase> cmd = spy(new DeactivateStorageDomainCommand<StorageDomainPoolParametersBase>(params)); + @Before public void setup() { CommandMocks.mockDbFacade(cmd, dbFacade); when(dbFacade.getStoragePoolDao()).thenReturn(storagePoolDAO); when(dbFacade.getStorageDomainDao()).thenReturn(storageDomainDAO); + doReturn(eventQueue).when(cmd).getEventQueue(); } @Test diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/FenceValidatorTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/FenceValidatorTest.java index b05d385..efef3fb 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/FenceValidatorTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/FenceValidatorTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.any; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.stub; @@ -49,7 +50,7 @@ validator = new FenceValidator(); validator = spy(validator); stub(validator.getProxyLocator(any(VDS.class))).toReturn(proxyLocator); - stub(validator.getBackend()).toReturn(backend); + doReturn(backend).when(validator).getBackend(); Config.setConfigUtils(configUtils); } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java index 5ffd786..76d89f4 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java @@ -27,9 +27,6 @@ import org.ovirt.engine.core.common.vdscommands.IrsBaseVDSCommandParameters; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; import org.ovirt.engine.core.utils.log.Logged; import org.ovirt.engine.core.utils.log.Logged.LogLevel; import org.ovirt.engine.core.utils.log.LoggedUtils; @@ -40,13 +37,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.inject.Inject; + @Logged(errorLevel = LogLevel.ERROR) public abstract class IrsBrokerCommand<P extends IrsBaseVDSCommandParameters> extends BrokerCommandBase<P> { - private static final Logger log = LoggerFactory.getLogger(IrsBrokerCommand.class); - + @Inject + private EventQueue eventQueue; private static Map<Guid, IrsProxyData> _irsProxyData = new ConcurrentHashMap<Guid, IrsProxyData>(); static final VDSStatus reportingVdsStatus = VDSStatus.Up; + + private static final Logger log = LoggerFactory.getLogger(IrsBrokerCommand.class); /** * process received domain monitoring information from a given vds if necessary (according to it's status @@ -263,8 +264,8 @@ if (masterDomain != null) { final Guid masterDomainId = masterDomain.getId(); - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventAsync(new Event(getParameters().getStoragePoolId(), - masterDomainId, null, EventType.RECONSTRUCT, "IrsBrokerCommand.startReconstruct()"), + eventQueue.submitEventAsync(new Event(getParameters().getStoragePoolId(), + masterDomainId, null, EventType.RECONSTRUCT, "IrsBrokerCommand.startReconstruct()"), new Callable<EventResult>() { @Override public EventResult call() { @@ -272,7 +273,8 @@ .getEventListener().masterDomainNotOperational( masterDomainId, getParameters().getStoragePoolId(), true, getVDSReturnValue().getVdsError() != null - && getVDSReturnValue().getVdsError().getCode() == VdcBllErrors.StoragePoolWrongMaster); + && getVDSReturnValue().getVdsError().getCode() + == VdcBllErrors.StoragePoolWrongMaster); } }); } else { diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java index 1c55902..5837674 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java @@ -63,9 +63,7 @@ import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.lock.EngineLock; import org.ovirt.engine.core.utils.lock.LockManagerFactory; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; @@ -331,7 +329,7 @@ } public void queueDomainMaintenanceCheck(final StorageDomain domain) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)) + getEventQueue() .submitEventAsync(new Event(_storagePoolId, domain.getId(), null, EventType.DOMAINFAILOVER, ""), new Callable<EventResult>() { @Override @@ -349,6 +347,10 @@ return null; } }); + } + + private EventQueue getEventQueue() { + return Injector.get(EventQueue.class); } public Guid getPreferredHostId() { @@ -506,7 +508,7 @@ final String exceptionMessage, final String logMessage) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync(new Event(_storagePoolId, + getEventQueue().submitEventSync(new Event(_storagePoolId, masterDomainId, null, EventType.RECONSTRUCT, "Reconstruct caused by failure to execute spm command"), new Callable<EventResult>() { @Override @@ -1164,7 +1166,7 @@ private void updateDomainInProblem(final Guid vdsId, final String vdsName, final Map<Guid, DomainMonitoringResult> domainsInProblem, final Set<Guid> domainsInMaintenance) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync(new Event(_storagePoolId, + getEventQueue().submitEventSync(new Event(_storagePoolId, null, vdsId, EventType.DOMAINMONITORING, ""), new Callable<EventResult>() { @Override @@ -1381,7 +1383,7 @@ @OnTimerMethodAnnotation("onTimer") public void onTimer(final Guid domainId) { - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventAsync(new Event(_storagePoolId, + getEventQueue().submitEventAsync(new Event(_storagePoolId, domainId, null, EventType.DOMAINFAILOVER, ""), new Callable<EventResult>() { @Override @@ -1502,11 +1504,11 @@ ThreadPoolUtil.invokeAll(connectStorageTasks); log.info("Submitting to the event queue pool refresh for hosts '{}'", handledHosts); - ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, BeanProxyType.LOCAL)).submitEventSync(new Event(_storagePoolId, - null, - null, - EventType.POOLREFRESH, - ""), + getEventQueue().submitEventSync(new Event(_storagePoolId, + null, + null, + EventType.POOLREFRESH, + ""), new Callable<EventResult>() { @Override public EventResult call() { -- To view, visit https://gerrit.ovirt.org/40642 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I966e995dd10b93d968cec135f10ab55f1bd729a7 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Roy Golan <rgo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches