当前位置: 首页 > 知识库问答 >
问题:

Axon amqp消息传递,事件处理程序未触发

梁研
2023-03-14

共有1个答案

沈国安
2023-03-14

你的假设确实是正确的。EventHandler的payloadType与发出的事件不匹配。EventHandler方法注册它可以处理com.departureExample.departure.coreapi.events.checkin.CheckedInEvent类型的事件。但是,通过rabbit发送的事件类型为com.departureexample.departure.coreapi.events.checkin.CheckedInEvent,没有为其注册处理程序。

对于任何EventHandler,都要求(super)类与所发出的内容匹配,其中包括包名。一些更详细的解释可以在文档中找到(https://docs.axoniq.io/reference-guide/implementing-domain-logic/event-handling/handling-events):

在所有情况下,每个侦听器实例最多调用一个事件处理程序方法。Axon将使用以下规则搜索要调用的最具体的方法:

如果找到一个或多个方法,其中所有参数都可以解析为值,则选择并调用具有最特定类型的方法

如果在类层次结构的此级别上没有找到方法,则以相同的方式计算超级类型

当达到层次结构的顶层,并且没有找到合适的事件处理程序时,将忽略该事件。

 类似资料:
  • 我正在使用netty构建一个应用程序。在应用程序中,我需要处理传入和传出的消息。要求是应用程序将发送的任何消息都应由特定的处理程序处理,进入应用程序的任何消息都应由另一个特定的处理程序处理。但是,我希望在两个处理程序之间交换消息,以便能够跟踪发送的消息响应,因为请求消息也将发送到应用程序。 请任何想法hwo实施这样的要求。这个问题听起来可能不相关,但这就是我得到的,我还不是一个网络极客。我读到的关

  • 当用户退出我的应用程序并且我不再希望他接收到设备通知时,我如何处理这种情况。 我试过了 但我仍然会收到设备注册id的通知。 我还确保这是我应该删除的令牌: 或者干脆)。 我还尝试了,但下一次调用时,我收到空值(在第二次尝试时有效)。 我想,在之后,我可以立即再次调用,但这看起来像是一个黑客。还有一个答案是不应该这样做,但它建议删除显然不起作用的令牌。 那么,正确的处理方法是什么呢?

  • 问题内容: 我正在尝试在内容脚本和扩展名之间传递消息 这是我的内容脚本 在后台脚本中 现在,如果我在函数中的ajax调用之前发送响应,则响应已成功发送,但是在ajax调用的成功方法中,当我发送响应时它不会发送响应,而在进行调试时,我可以看到该函数代码中的端口为null 。 问题答案: 从文档中: 当事件侦听器返回时,此函数将变为无效,除非您从事件侦听器返回true表示您希望异步发送响应(这将使消息

  • 有人问过一些类似的问题。 但在我的代码中,我试图获取被点击的子元素,比如或。 那么,将

  • 在新的SpringBoot(2.0.2)中,通过RabbitBinder在源/处理器/接收器之间发送哈希图的支持似乎有所改变。 公共父pom。所有模块的xml如下所示: 明确规定如下: 如果出站通道上没有设置内容类型属性,Spring Cloud Stream将使用基于Kryo序列化框架的序列化器序列化有效负载。在目标位置反序列化消息需要有效负载类出现在接收方的类路径上。 根据这些规则,它可以使用

  • FCM服务未向我的iOS应用程序发送消息。 > App CAN成功接收APNs令牌和实例ID令牌 App CAN使用推送通知实用程序利用. p8令牌在后台成功接收来自APN的推送 #2中使用的相同APNs密钥上传到Firebase控制台 应用程序无法接收Firebase控制台中Notification Composer发送的消息,也无法使用CURL请求接收消息。 应用程序在通过FCM发送时不显示任