如何解决activemq如何配置为与python中的stomp一起使用
|| 我已经在本地安装并运行了activemq,但是当我运行以下脚本时,出现错误:
#!/usr/bin/env python
import time
import sys
import stomp
class MyListener(object):
def on_error(self,headers,message):
print \'received an error %s\' % message
def on_message(self,message):
print \'received a message %s\' % message
conn = stomp.Connection(host_and_ports=[(\'localhost\',61616)])
conn.set_listener(\'\',MyListener())
conn.start()
conn.connect()
conn.subscribe(destination=\'/home/bitcycle/svn/cass/queue.test\',ack=\'auto\')
conn.send(\'Test\',destination=\'/home/bitcycle/svn/cass/queue.test\')
time.sleep(2)
conn.disconnect()
错误:
./proc.py
No handlers could be found for logger \"stomp.py\"
Traceback (most recent call last):
File \"./proc.py\",line 20,in
conn.disconnect()
File \"/usr/local/lib/python2.7/dist-packages/stomp.py-3.0.3-py2.7.egg/stomp/connect.py\",line 387,in disconnect
self.__send_frame_helper(\'DISCONNECT\',\'\',utils.merge_headers([self.__connect_headers,keyword_headers]),[ ])
File \"/usr/local/lib/python2.7/dist-packages/stomp.py-3.0.3-py2.7.egg/stomp/connect.py\",line 453,in __send_frame_helper
self.__send_frame(command,payload)
File \"/usr/local/lib/python2.7/dist-packages/stomp.py-3.0.3-py2.7.egg/stomp/connect.py\",line 489,in __send_frame
raise exception.NotConnectedException()
stomp.exception.NotConnectedException
有人可以帮助我了解我需要做什么才能使其正常工作吗?我想使用activemq进行进程间通信。
解决方法
乍一看,我会说您正在尝试连接到错误的端口。现成的ActiveMQ配置为在端口61616上使用OpenWire协议,并且未启用Stomp。您需要检查您的ActiveMQ配置文件,并确保启用了Stomp传输,我们使用的标准端口是Stomp的61613。有关配置Stomp的一些信息,请参见此页面:ActiveMQ Stomp指南
, 我不知道直接的答案,这可能太circuit回以至没有用,但是一种方法可能是研究Celery的旧代码。他们曾经通过胡萝卜来支持activemq / stomp(例如http://jasonmbaker.com/how-celery-carrot-and-your-messaging-stack-wo)-我以为他们仍然这样做,但看起来好像不这样做。不再存在(根据FAQ:http://ask.github.com/celery/faq.html#can-i-use-celery-with-activemq-stomp)。尽管如此,他们确实确实做了一些您想做的事情,所以您可能会考虑使用较旧的实现。可能需要进行过多的研究-不确定获得答案有多困难。我很想看看自己是否有一个简单的答案。
, 我今天也遇到了类似的问题。这是由于端口不正确。默认情况下,stomp将连接到61613。使用此端口或更新代理以支持其他端口。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。