package eu.betaas.service.securitymanager.trustmanager.messaging;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import eu.betaas.rabbitmq.publisher.interfaces.Publisher;
public class MessageManager {
private static final String DEPENDABILITYKEY = "dependability.taas.vmmanager";
private static final String MONITORINGKEY = "monitoring.taas.vmmanager";
private static MessageManager instance = null;
private Publisher publisher;
private BundleContext context;
private MessageManager() {
ServiceReference serviceReference =
context.getServiceReference(Publisher.class.getName());
if (serviceReference==null)
return;
publisher = (Publisher) context.getService(serviceReference);
}
public void setupService() {
instance = new MessageManager();
}
public static MessageManager instance() {
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;
}
}