1

我正在尝试使用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

我很惊讶第一个论点可能有问题。我的理解是它是一个字符串文字,就像它应该的那样。有任何想法吗?

4

1 回答 1

2

我不确定错误消息是否具有误导性,但您的代码看起来有些奇怪。我希望subscribe's第二个参数是一个EventTopicSubscriber 实例- 你已经传递了一个。也许

EventBus.subscribe("Topic", Listener())

更合适?

于 2009-08-25T08:21:06.147 回答