def main(): stomp = Client('10.200.10.194', 61624) stomp.connect() stomp.subscribe('/queue/test1', ack='client') while True: message = stomp.get(block=True) print(type(message), message.body) stomp.ack(message) connection.unsubscribe({'destination': '/queue/test1'}) time.sleep(1) connection.disconnect()
def simple_receive(): stomp = Client("192.168.1.166", 61613) stomp.connect() stomp.subscribe("/queue/hello", ack="client") while True: message = stomp.get() print message.body stomp.ack(message) stomp.unsubscribe("/queue/hello") stomp.disconnect()
def simple_receive(): stomp = Client('192.168.1.166', 61613) stomp.connect() stomp.subscribe("/queue/hello", ack="client") while True: message = stomp.get() print message.body stomp.ack(message) stomp.unsubscribe("/queue/hello") stomp.disconnect()
def simple(): # 通过simple方式连接JMS服务器 # 指定hostname和port(tips:ActiveMQ支持多种协议连接stomp协议的默认端口为61613,这里不要写为61616) stomp = Client("192.168.1.166", 61613) # stomp = Client()#如果是ActiveMQ和ActiveMQ客户端(本程序)在同一台机器可使用默认值:hostname="localhost",port=61613 # 连接服务器 stomp.connect() # 发送消息到指定的queue stomp.put("The quick brown fox...", destination="/queue/hello") # 从指定的queue订阅消息。ack参数指定为"client",不然可能出现一个问题(具体忘了,以后补充),ack默认值为"auto" stomp.subscribe("/queue/hello", ack="client") # 等待接收ActiveMQ推送的消息 message = stomp.get() # 打印消息的主体 print message.body message.body "quick brown fox..." stomp.ack(message) # 退订 stomp.unsubscribe("/queue/hello") # 关闭连接 stomp.disconnect()
def simple(): # 通过simple方式连接JMS服务器 # 指定hostname和port(tips:ActiveMQ支持多种协议连接stomp协议的默认端口为61613,这里不要写为61616) stomp = Client('192.168.1.166', 61613) #stomp = Client()#如果是ActiveMQ和ActiveMQ客户端(本程序)在同一台机器可使用默认值:hostname="localhost",port=61613 # 连接服务器 stomp.connect() # 发送消息到指定的queue stomp.put("The quick brown fox...", destination="/queue/hello") # 从指定的queue订阅消息。ack参数指定为"client",不然可能出现一个问题(具体忘了,以后补充),ack默认值为"auto" stomp.subscribe("/queue/hello", ack="client") # 等待接收ActiveMQ推送的消息 message = stomp.get() # 打印消息的主体 print message.body message.body 'quick brown fox...' stomp.ack(message) # 退订 stomp.unsubscribe("/queue/hello") # 关闭连接 stomp.disconnect()
#!/usr/bin/python from stompy.simple import Client import json Dict_Message = dict() Dict_Message["Test1"] = "CONDOR" stomp = Client("localhost", 61613) stomp.connect("producer", "pass") stomp.put(json.dumps(Dict_Message), destination="/queue/test", conf={'Test': 'Test123'}) stomp.disconnect() stomp = Client("localhost", 61613) stomp.connect("consumer", "pass") stomp.subscribe("/queue/test", conf={'selector': "Test = 'Test123'"}) #stomp.subscribe("/queue/test") message = stomp.get() print message.headers New_Dict = json.loads(message.body) print New_Dict stomp.ack(message) stomp.unsubscribe("/queue/test") stomp.disconnect()
class WhenUsingSimpleClient(DingusTestCase(Client, exclude=['TransactionError', 'Empty'])): def setup(self): super(WhenUsingSimpleClient, self).setup() self.client = Client() def should_connect(self): self.client.connect() assert self.client.stomp.calls('connect') def should_disconnect(self): self.client.disconnect() assert self.client.stomp.calls('disconnect') def should_subscribe(self): self.client.subscribe('/queue/nose_test') print self.client.stomp.calls assert self.client.stomp.calls('subscribe', {'ack': 'auto', 'destination': '/queue/nose_test'}) def should_unsubscribe(self): self.client.unsubscribe('/queue/nose_test') assert self.client.stomp.calls('unsubscribe', {'destination': '/queue/nose_test'}) def should_begin_transaction(self): self.client.begin('bah') assert self.client.stomp.calls('begin', {"transaction": self.client._current_transaction}) def should_fail_to_begin_already_in_transaction(self): self.client._current_transaction = "meh" nose_tools.assert_raises(TransactionError, self.client.begin, 'bah') def should_commit_transaction(self): self.client._current_transaction = 'meh' self.client.commit('bah') assert self.client.stomp.calls('commit', {'transaction': 'meh'}) def should_fail_to_commit_transaction(self): nose_tools.assert_raises(TransactionError, self.client.commit, 'bah') def should_abort_transaction(self): self.client._current_transaction = 'meh' self.client.abort() assert self.client.stomp.calls('abort', {'transaction': 'meh'}) def should_fail_to_abort_transaction(self): nose_tools.assert_raises(TransactionError, self.client.abort) def should_ack_message(self): self.client.ack("fake_frame") assert self.client.stomp.calls('ack', "fake_frame") def should_make_conf(self): conf = self.client._make_conf(None, destination='/queue/nose_test', ack='auto') assert isinstance(conf, type({})) def should_make_conf_with_transaction(self): self.client._current_transaction = 'meh' conf = self.client._make_conf({}, destination='/queue/nose_test', ack='auto') assert isinstance(conf, type({})) def should_put_item_into_queue(self): self.client.put('bah', '/queue/nose_test') conf = self.client._make_conf(None, body='bah', destination='/queue/nose_test', persistent='true') assert self.client.stomp.calls('send', conf) def should_get_message(self): self.client.get() assert self.client.stomp.calls('receive_frame', nonblocking=False, callback=None) def should_get_message_without_blocking(self): self.client.get_nowait() assert self.client.stomp.calls('receive_frame', nonblocking=True, callback=None) def should_not_get_message(self): self.client.stomp.receive_frame.return_value = None nose_tools.assert_raises(self.client.Empty, self.client.get, block=False)
count = 0 start = None end = None stomp = Client() stomp.connect() stomp.subscribe(queue_name, "client") while (count < expected): try: frame = stomp.get() if start is None: start = timer() count = count + 1 stomp.ack(frame) except: print("got nothing :(") time.sleep(1) end = timer() result = (end - start) print(str(result)) stomp.unsubscribe(queue_name) stomp.disconnect()