Python利用stomp从activeMq中消费数据
#!/usr/bin/env python
import time
import sys
import os
import stomp
user = "cody"
password = "123456"
host = "192.7.1.136"
port = 61613
destination = "test"
class MyListener(object):
def __init__(self, conn):
self.conn = conn
self.count = 0
self.start = time.time()
def on_error(self, headers, message):
print('received an error %s' % message)
def on_message(self, headers, message):
print(message)
if message == "SHUTDOWN":
diff = time.time() - self.start
print("Received %s in %f seconds" % (self.count, diff))
conn.disconnect()
sys.exit(0)
else:
if self.count == 0:
self.start = time.time()
self.count += 1
if self.count % 1000 == 0:
print("Received %s messages." % self.count)
def writeData2Disk(self):
open("D:")
conn = stomp.Connection(host_and_ports=[(host, port)])
conn.set_listener('', MyListener(conn))
conn.start()
conn.connect(login=user, passcode=password)
conn.subscribe(destination=destination, id="hongwei", ack='auto')
print("Waiting for messages...")
while 1:
time.sleep(10)