这是我对带有RetryScheduler的commandGateway的配置:
@Bean
public CommandGateway commandGateway(){
Configurer configurer = DefaultConfigurer.defaultConfiguration();
CommandBus commandBus = configurer.buildConfiguration().commandBus();
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
RetryScheduler rs = IntervalRetryScheduler.builder().retryExecutor(scheduledExecutorService).maxRetryCount(100).retryInterval(1000).build();
CommandGateway commandGateway = DefaultCommandGateway.builder().commandBus(commandBus).retryScheduler(rs).build();
return commandGateway;
}
为了解决手头的问题,您可以提供intervalretryScheduler
的自己的实现,该实现重写intervalretryScheduler#isexplicitlynontransistal(Throwable)
方法,以同时考虑重试noHandlerforCommandException
。
注意,intervalretryScheduler
有意只对AxonNontransientException
类型的异常重试,这些异常通常是信号可恢复的异常。NoHandlerforCommandException
意味着正在使用的CommandBus
实现也不知道向谁发出命令,这通常意味着不能重试。
然而,似乎你有一个有意义的场景。因此,正如我在开始时指出的那样,重写IsexplicitlyNontransient(Throwable)
方法以排除NoHandlerForCommandException
将是我认为适合您的方法。
我试图使用Axon 4.1+中的在一个2 JVM node K8集群上重播事件。虽然我将它设置为清理事件,但它只从一个节点中提取事件,而另一个节点继续运行,因为它的跟踪事件仍然是活动的。 我如何在所有JVM上同时禁用它,以便它能够正确地重播?然后启用所有这些命令,继续处理命令。 我尝试通过这段代码增加线程,这导致了另一个问题,即现有的令牌在InitialSemgmentsCount中永远不会增加,
为什么如果我将框架的宽度和高度设置为400,例如,可用空间较小,我如何围绕它工作,以及如何在不剪切内容的情况下将某些内容放在中心?例如
所以基本上我有一个动态添加和删除片段的浏览器。我要做的是在片段中设置onClick函数,并执行与该片段相关的操作。以下是我的代码。 MainFragment.java } 然后我在Fragment的xml中使用了OnClick属性,并在我的MainActivity中创建了一个函数,这也不起作用。 我错过了什么?
问题内容: HTML从早期开始就有框架,但是在最新版本中已弃用。许多浏览器(我曾尝试使用Internet Explorer)甚至无法正确显示框架。 为什么要这样做?镜框的缺点是什么? 问题答案: 雅各布·尼尔森(JakobNielsen)在1996年的专栏批评镜框。一些关键点: 框架会阻止用户正确标记页面。加载带有书签的框架集页面时,用户先前在框架内单击鼠标没有关系。仅保存外部URL,用户必须导航
exception$10(errorcode.java:88)在org.axonframework.axonserver.connector.errorcode.convert(errorcode.java:182)在org.axonframework.axonserver.connector.command.command.command.axonservercommandbus$1.onnex