当我们的 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/