当我们的 Axon QueryHandler 返回带有通用参数(如QueryResult<T>)的Class时,我们遇到了问题。
例如:

class QueryResult<T>(val values: List<T>, val status: Status,
                                 var text: String? = null) : Serializable {
...
}

和我们的查询处理程序:
@QueryHandler
    fun handle(query: SomeQuery): QueryResult<String>{

Axon给我们以下消息:



在QueryHandlers中允许使用泛型吗?还是必须以某种特定方式调用queryGateway?

最佳答案

Axon将仅解析以下返回类型的泛型:

  • Collection
  • Future
  • Optional

  • 我相信您想要的查询响应将需要ResponeType接口(interface)的新实现,该接口(interface)将甚至进一步检查可用的泛型。

    简短的答案?您目前无法执行的操作。

    documentation在这方面相对较短,但我认为仍然很清楚。如果您不同意,则可以随意提供pull request或提出问题以要求对此事进行澄清。

    关于kotlin - 返回带有泛型的Response时找不到查询的Axon no Handler,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60145241/

    10-11 12:19