@MessageHandler(topic = AsyncJob.Topics.JOB_HEARTBEAT) public void onJobHeartbeatNotify(String subject, String senderAddress, Object args) { if (args != null && args instanceof Long) { synchronized (this) { ActiveTaskRecord record = _activeTasks.get(args); if (record != null) { record.updateJobHeartbeatTick(); } } } }
@MessageHandler(topic = ".*") public void defaultMessageHandler(String subject, String topic, Object args) { s_logger.info("DB Event Received - topic: " + topic + "; subject: " + subject); org.apache.cloudstack.framework.events.Event event = (org.apache.cloudstack.framework.events.Event)args; /* Method name should be on<ClassName><Operation> for example: onDomainCreate */ Method method = null; try { /* Only create event needs special implementation */ if (event.getEventType().contains("CREATE")) { String methodName = "on" + event.getResourceType() + "Create"; method = _methodMap.get(methodName); if (method == null) { defaultCreateHandler(subject, topic, event); } else { method.invoke(this, subject, topic, event); } } else if (event.getEventType().contains("DELETE")) { defaultDeleteHandler(subject, topic, event); } else { defaultHandler(subject, topic, event); } } catch (Exception e) { s_logger.debug(e); } }
@MessageHandler(topic = Topics.VM_POWER_STATE) protected void HandlePowerStateReport(final String subject, final String senderAddress, final Object args) { assert args != null;
@MessageHandler(topic = AsyncJob.Topics.JOB_EVENT_PUBLISH) public void handleAsyncJobPublishEvent(String subject, String senderAddress, Object args) { assert (args != null);