Java 获取IgniteCheckedException:默认Ignite实例已启动,在单个节点上启用持久性时出现异常
我正在部署一个需要在Ignite缓存中维护一些数据的应用程序。我在内存中使用Ignite缓存。以下是我使用的Ignite配置:Java 获取IgniteCheckedException:默认Ignite实例已启动,在单个节点上启用持久性时出现异常,java,spring,ignite,high-availability,Java,Spring,Ignite,High Availability,我正在部署一个需要在Ignite缓存中维护一些数据的应用程序。我在内存中使用Ignite缓存。以下是我使用的Ignite配置: <property name="cacheConfiguration"> <list> <bean class="org.apache.ignite.configuration.CacheConfiguration"> <pr
<property name="cacheConfiguration">
<list>
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="IGNITE_DATA" />
<property name="cacheMode" value="PARTITIONED" />
<property name="atomicityMode" value="ATOMIC" />
<property name="writeSync"
value="PRIMARY_SYNC" />
<property name="backups"
value="${IGNITE_CACHE_BACKUPS}" />
</bean>
</list>
</property>
每次声明默认实例已启动时,我都会收到一个异常。尝试了几项操作,但都没有成功。即使我从Ignite配置中删除CacheConfiguration并保留dataStorageConfiguration,我仍然会收到相同的错误。错误是:
Caused by: class org.apache.ignite.IgniteCheckedException: Default Ignite instance has already been started.
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1141)
at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1076)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:962)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:881)
at org.apache.ignite.Ignition.start(Ignition.java:373)
通常,当我们尝试在同一个JVM下运行多个Ignite节点时,会出现此错误,但在这里,我为每个JVM运行一个节点。然后也得到了错误。
如果我错了,请纠正我
这里的任何帮助都将不胜感激。很可能,您的配置文件中有多个
IgniteConfiguration
bean。如果一个配置bean扩展了另一个配置bean,那么请确保父配置bean是抽象的。我已经解决了这个问题。似乎问题不在于Ignite配置,而在于Spring框架配置
我使用lazy init=true为Ignite类创建bean。我把它换成了渴望的init,这就解决了我的问题。
不确定它到底是如何解决这个问题的,但至少在我的情况下是有效的。我已经检查了配置文件。。。它只包含1个Ignite配置bean。如果删除持久性的dataStorageConfiguration属性。错误消失了。。此属性存在一些问题。是否可以指定不允许节点启动的整个配置文件?我想在我这边办理登机手续。
log.info("Initializing IGNITE...");
ignite = Ignition.start(getClass().getResource(CONF_FILE));
Caused by: class org.apache.ignite.IgniteCheckedException: Default Ignite instance has already been started.
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1141)
at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1076)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:962)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:881)
at org.apache.ignite.Ignition.start(Ignition.java:373)