Gridgain具有故障转移spi机制,用于节点上的作业失败。然而,我们希望配置一种故障机制,即使在配置的数据节点中的一个发生故障时也会抛出异常。
我们该怎么做?
您是否正在尝试防止任务的故障转移,并在执行作业的过程中抛出异常?(我不确定我是否正确理解了你的意思,所以如果我错了,请纠正我)
如果我是对的,最简单的方法是配置NeverFailoverSpi
,像这样:
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
...
<property name="failoverSpi">
<bean class="org.apache.ignite.spi.failover.never.NeverFailoverSpi"/>
</property>
</bean>
另一种选择是使用IgniteCompute.withAsyncNoFailover()
方法。如果您希望禁用一小部分任务的故障转移,但仍对其他任务使用默认机制,则此功能非常有用。下面是一个例子:
IgniteCompute compute = ignite.compute().withAsyncNoFailover();
// Tasks executed with this compute instance will never failover.
compute.execute(MyTask1.class, "arg");