package eu.betaas.taas.taasvmmanager.messaging;
import org.apache.log4j.Logger;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import eu.betaas.rabbitmq.publisher.interfaces.Publisher;
public class MessageManager {
private static Logger logger = Logger.getLogger("betaas.taas");
private static final String DEPENDABILITYKEY = "dependability.taas.vmmanager";
private static final String MONITORINGKEY = "monitoring.taas.vmmanager";
private static MessageManager instance = null;
private static Publisher publisher;
private static BundleContext context;
public void setupService() {
logger.info("[TaaSVMMMessageManager] Starting message manager...");
ServiceReference serviceReference =
context.getServiceReference(Publisher.class.getName());
if (serviceReference==null) {
logger.info("[TaaSVMMMessageManager] Message manager started (serviceReference is null)...");
return;
}
publisher = (Publisher) context.getService(serviceReference);
logger.info("[TaaSVMMMessageManager] Message manager started...");
/* instance = new MessageManager();
instance.init(publisher, context);*/
}
public synchronized static MessageManager instance() {
if (instance == null) {
instance = new MessageManager();
}
return instance;
}
public synchronized void monitoringPublish(String message) {
if (publisher != null) {
publisher.publish(message, MONITORINGKEY);
}
}
public synchronized void dependabilityPublish(String message) {
if (publisher != null) {
publisher.publish(message, DEPENDABILITYKEY);
}
}
public void setContext(BundleContext context) {
this.context = context;
}
}