Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Axon框架-是否可以为多个传奇使用单个跟踪事件处理器?_Java_Axon - Fatal编程技术网

Java Axon框架-是否可以为多个传奇使用单个跟踪事件处理器?

Java Axon框架-是否可以为多个传奇使用单个跟踪事件处理器?,java,axon,Java,Axon,让我们首先说,我使用的是Axon Framework的3.1.2版,它为@EventHandlers和Sagas启用了跟踪事件处理器 在我看来,为传奇创建事件处理器的当前默认行为是为单个传奇创建单个跟踪事件处理器。这在微服务规模上运行得很好,但在可能实现很多传奇的大型单片应用程序中可能会出现问题。因为我正在编写这样的应用程序,所以我希望能够更好地控制正在运行的线程的数量,从而更好地控制数据库连接池的使用、上下文切换和内存使用。理想情况下,我希望有尽可能多的跟踪事件处理器作为CPU核心,其中每个事

让我们首先说,我使用的是Axon Framework的3.1.2版,它为
@EventHandlers
和Sagas启用了跟踪事件处理器

在我看来,为传奇创建事件处理器的当前默认行为是为单个传奇创建单个跟踪事件处理器。这在微服务规模上运行得很好,但在可能实现很多传奇的大型单片应用程序中可能会出现问题。因为我正在编写这样的应用程序,所以我希望能够更好地控制正在运行的线程的数量,从而更好地控制数据库连接池的使用、上下文切换和内存使用。理想情况下,我希望有尽可能多的跟踪事件处理器作为CPU核心,其中每个事件处理器执行多个SAGA和/或
@EventHandlers


我已经发现我可以通过
@ProcessingGroup
注释或
EventHandlingConfiguration::assignHandlersMatching
方法为
@EventHandlers
实现这一点,但是
SagaConfiguration
似乎没有公开类似的API。事实上,最具体的
SagaConfiguration::trackingSagaManager
方法是硬编码的,用于创建一个新的
TrackingEventProcessor
对象,这让我认为我目前试图实现的目标是不可能的。因此,我的问题是:我是否缺少一些非直接的方法,可以让我在单个事件处理器的上下文中执行多个saga?

我可以向您确认,(目前)不可能让多个saga由单个
事件处理器管理。除此之外,我对这样做的利弊持怀疑态度,因为乍一看,你的情景听起来并不奇怪。
我建议在AxonFrameworkGitHub上删除一个特性请求。这样,我们(1)记录了这个想法/愿望,(2)有一个好地方讨论是否实施这个想法/愿望