我正在尝试使用Jython中的EventBus。从Jython总线发送事件按预期工作,可以从我的Java代码中侦听它们。但是从Jython订购总线是有问题的。我正在尝试这个:
class Listener(EventTopicSubscriber):
def onEvent(self, topic, object):
print("got an event")
EventBus.subscribe("Topic", Listener)
它提供以下内容:
TypeError: subscribe(): 1st arg can't be coerced to java.util.regex.Pattern,
java.lang.reflect.Type, String, java.lang.Class
我很惊讶 1st 参数可能有问题。我的理解是它是一个字符串文字,正如它应该的那样。有什么想法吗?
答案 0 :(得分:2)
我不确定错误消息是否具有误导性,但是对于您的代码而言其他一些看起来很奇怪。我希望subscribe
的第二个参数是EventTopicSubscriber
实例 - 您已经传递了类。也许
EventBus.subscribe("Topic", Listener())
更合适吗?