2014-10-28 73 views
0

我试图让这个脚本工作,我需要筛选自定义标题字段“测试”上的Stompy订阅。STOMP选择器Python对于ActiveMq

但是,每次我尝试,它都没有收到,我可以看到队列中的消息正常,但用户永远不会把它从队列中取出。当我删除用户中的选择器语句时,我可以收到该消息。

有人能告诉我我做错了什么吗?

#!/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() 

回答

1

请勿在选择器中的字段名称中使用'''。选择器中的语法就像SQL,它不像JSON。

stomp.subscribe("/queue/test",conf={'selector' : "Test = 'Test123'"}) 

实际上,我在选择器的文本中根本不使用拼贴。

相关问题