From 850e068a56382ea4f8c898d3307c8ce8bec6e9c5 Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Tue, 20 May 2014 16:49:51 +0530 Subject: [PATCH] CLOUDSTACK-6720: Async job events are not published on event bus fix ensures publishOnEventBus() is called on submit, update, complete phase of job procesing --- .../framework/jobs/impl/AsyncJobManagerImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java index 24abcbe868b..c6dd73274fe 100644 --- a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java +++ b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java @@ -172,6 +172,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, job.setSyncSource(null); // no sync source originally dao.persist(job); + publishOnEventBus(job, "submit"); scheduleExecution(job, scheduleJobExecutionInContext); if (s_logger.isDebugEnabled()) { s_logger.debug("submit async job-" + job.getId() + ", details: " + job.toString()); @@ -193,6 +194,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, job.setInitMsid(getMsid()); dao.persist(job); + publishOnEventBus(job, "submit"); syncAsyncJobExecution(job, syncObjType, syncObjId, 1); return job.getId(); @@ -230,6 +232,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, return; } + publishOnEventBus(job, "complete"); // publish before the instance type and ID are wiped out List wakeupList = Transaction.execute(new TransactionCallback>() { @Override public List doInTransaction(TransactionStatus status) { @@ -287,6 +290,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, return; } + publishOnEventBus(job, "update"); Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(TransactionStatus status) { @@ -307,6 +311,9 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, s_logger.debug("Update async-job attachment, job-" + jobId + ", instanceType: " + instanceType + ", instanceId: " + instanceId); } + final AsyncJobVO job = _jobDao.findById(jobId); + publishOnEventBus(job, "update"); + Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(TransactionStatus status) {