当音量达到每小时约200,000条消息时,我发现stomp.py落后了。 jython不是一个选项,所以对于一个java消息监听器,我希望有一个python脚本'订阅'到将从此Java应用程序生成的消息/事件。我有基本的网关工作&可以拨打一个' getMessage()'如下:
def do_gateway():
java_gateway = JavaGateway()
try:
app = java_gateway.entry_point
message = app.getMsg()
len(message) > 0:
print_message(message)
...
java方法的位置是:
public String getMsg(){
System.out.println("stack size: " + stack.size());
return stack.size() > 0 ? stack.pop() : "";
}
我真正需要的是订阅'到getMsg()方法&将这些消息推送到#39;作为事件。以上的低租金替代方案是:
app = java_gateway.entry_point
while True:
message = app.getMsg()
if len(message) > 0:
print_message(message)
我看到一些callback_server详细信息,其中需要java端的接口 - 我已经在java端设置了&尽管我可以追随蟒蛇方面,但显然我错过了好东西和它做得不够:
**** ***的java
public class SubscriberEntryPoint implements MessageListener, ISubscriberEntryPoint,
SubscriberEntryPoint app = new SubscriberEntryPoint();
GatewayServer gatewayServer = new GatewayServer(app);
gatewayServer.start();
System.out.println("Gateway Server Started");
public interface ISubscriberEntryPoint {
public String getMsg();
}
**** ***蟒
def do_callback():
try:
gateway = JavaGateway(start_callback_server=True)
class Java:
implements = ['mqtest.ISubscriberEntryPoint']
message = gateway.entry_point.getMsg()
print_message(message)
提前感谢!