def __init__(self):
     self.config = JSONObject(file(os.path.join(os.path.dirname(__file__), "..", "config.json"), "rb"))
     self.host = self.config.rabbitmq.host
     self.port = self.config.rabbitmq.port
     RabbitMQ.establishConnection(self.host, self.port)
     self.messageBusReceiveQueue = QueueThread(handler=self.receiveEventHandler)
     self.exchange = RabbitMQ.exchange_annotated_event
    def run(self):
        RabbitMQ.declareExchange(self.rabbitmqchannel, self.exchange, _type="topic")
        RabbitMQ.declareExchange(self.rabbitmqchannel, RabbitMQ.exchange_event, _type="topic")
        queue = self.rabbitmqchannel.queue_declare()
        queue_name = queue.method.queue
        RabbitMQ.channel.queue_bind(exchange=RabbitMQ.exchange_event, queue=queue_name, routing_key="#")

        self.runthread = threading.Thread(target=self._run)
        self.runthread.start()
 def __init__(self, messageBusQueue=None):
     from virtualisation.resourcemanagement.resourcemanagement import ResourceManagement
     self.rm = ResourceManagement
     self.rabbitmqconnection, self.rabbitmqchannel = RabbitMQ.establishConnection(str(ResourceManagement.config.rabbitmq.host), ResourceManagement.config.rabbitmq.port)
     self.messageBusReceiveQueue = QueueThread(handler=self.receiveEventHandler)
     self.messageBusSendQueue = messageBusQueue
     self.eventDescriptions = {}
     self.splitters = None
     self.annotator = GenericAnnotation()
     self.exchange = RabbitMQ.exchange_event
     self.consumer_tag = None
     self.runthread = None
Exemple #4
0
    def start(self):
        print "start listening on", self.host, "with port", self.port
#         print "waiting for", self.routing_key, "on exchange", self.exchange
        if RabbitMQ.establishConnection(self.host, self.port):
            print ("Connection established")
        else:
            print ("Failed to connect, exiting")
            return
        
        if hasattr(RabbitMQ, 'channel'):
            queue = RabbitMQ.channel.queue_declare()
            queue_name = queue.method.queue
            
            for exchange_key in self.exchange_key_list:
                RabbitMQ.channel.queue_bind(exchange=exchange_key[0], queue=queue_name, routing_key=exchange_key[1])
            
            RabbitMQ.channel.basic_consume(self.onMessage, no_ack=True)
            print "start conssuming ..."
            RabbitMQ.channel.start_consuming()
    def start_messagebus(self, args):
        L.i("Connecting to the message bus")
        self.messageBusQueue = QueueThread(handler=self.sendMessageHandler)
        try:

            # prepare RabbitMQ configuration
            rmq_host = str(self.config.rabbitmq.host)
            rmq_port = self.config.rabbitmq.port
            rmq_username = self.config.rabbitmq.username if "username" in self.config.rabbitmq else None
            rmq_password = self.config.rabbitmq.username if "password" in self.config.rabbitmq else None
            if rmq_username:
                if rmq_password:
                    RabbitMQ.establishConnection(rmq_host, rmq_port, rmq_username, rmq_password)
                else:
                    RabbitMQ.establishConnection(rmq_host, rmq_port, rmq_username)
            else:
                RabbitMQ.establishConnection(rmq_host, rmq_port)
            L.i("Connected to the message bus")
            self.messageBusQueue.start()
        except MessageBusConnectionError:
            self.args.messagebus = False
            args.messagebus = False
            L.w("Could not connect to MessageBus server. Disabling MessageBus feature.")
 def sendMessageHandler(self, item):
     message, exchange, key = item
     L.d2(message)
     RabbitMQ.sendMessage(message, exchange, key)
     del message
 def sendEvent(self):
     e = self.makeRandomEvent()
     message = e.dumps()
     RabbitMQ.sendMessage(message, RabbitMQ.exchange_event, e.ceType)
     print "sent", message
 def sendAnnotatedEventHandler(self, annotatedevent):
     key = self.getEventDescription().messagebus.routingKey
     message = annotatedevent.serialize(format='n3')
     RabbitMQ.sendMessage(message, self.exchange, key)