Я запустил сервер apache ignite 2.6.0 (бинарный дистрибутив) с пользовательской конфигурацией и приложением с весенней загрузкой с аналогичной конфигурацией в режиме клиента.При попытке запуска приложения весенней загрузки приложение весенней загрузки отображает сообщение об ошибке как слияние конфигурации.Ниже приведено сообщение с консоли
Caused by: org.apache.ignite.spi.IgniteSpiException: Conflicts during configuration merge for cache 'PersonCache' :
PERSON conflict:
keyFieldName is different: local=id, received=null
Можете ли вы дать мне знать, как решить эту проблему.Это работает, как и ожидалось, когда я использую встроенный весенний загрузочный сервер воспламенения и встроенный клиент весенней загрузки с аналогичной конфигурацией
Настройка Ignite XML
<bean id="datasource"
class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
<property name="URL"
value="jdbc:mysql://localhost:3307/ignite" />
<property name="user" value="root" />
<property name="password" value="*****" />
</bean>
<bean id="gridCfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="PersonCache" />
<property name="readThrough" value="true" />
<property name="writeThrough" value="true" />
<property name="writeBehindEnabled" value="true" />
<property name="cacheStoreFactory">
<bean
class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
<property name="dataSourceBean" value="datasource" />
<property name="dialect">
<bean
class="org.apache.ignite.cache.store.jdbc.dialect.MySQLDialect">
</bean>
</property>
<property name="types">
<list>
<bean class="org.apache.ignite.cache.store.jdbc.JdbcType">
<property name="cacheName" value="PersonCache" />
<property name="keyType" value="java.lang.Long" />
<property name="valueType"
value="pl.piomin.services.ignite.model.Person" />
<property name="databaseSchema" value="ignite" />
<property name="databaseTable" value="PERSON" />
<property name="keyFields">
<list>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.INTEGER" />
</constructor-arg>
<constructor-arg value="id" />
<constructor-arg value="java.lang.Long" />
<constructor-arg value="id" />
</bean>
</list>
</property>
<property name="valueFields">
<list>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.VARCHAR" />
</constructor-arg>
<constructor-arg value="first_name" />
<constructor-arg value="java.lang.String" />
<constructor-arg value="firstName" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.VARCHAR" />
</constructor-arg>
<constructor-arg value="last_name" />
<constructor-arg value="java.lang.String" />
<constructor-arg value="lastName" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.VARCHAR" />
</constructor-arg>
<constructor-arg value="gender" />
<constructor-arg value="java.lang.String" />
<constructor-arg value="gender" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.VARCHAR" />
</constructor-arg>
<constructor-arg value="country" />
<constructor-arg value="java.lang.String" />
<constructor-arg value="country" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.VARCHAR" />
</constructor-arg>
<constructor-arg value="city" />
<constructor-arg value="java.lang.String" />
<constructor-arg value="city" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.VARCHAR" />
</constructor-arg>
<constructor-arg value="address" />
<constructor-arg value="java.lang.String" />
<constructor-arg value="address" />
</bean>
<bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
<constructor-arg>
<util:constant
static-field="java.sql.Types.DATE" />
</constructor-arg>
<constructor-arg value="birth_date" />
<constructor-arg value="java.util.Date" />
<constructor-arg value="birthDate" />
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>
</property>
<property name="queryEntities">
<list>
<bean class="org.apache.ignite.cache.QueryEntity">
<property name="keyType" value="java.lang.Long" />
<property name="valueType"
value="pl.piomin.services.ignite.model.Person" />
<property name="keyFieldName" value="id" />
<property name="keyFields">
<list>
<value>id</value>
</list>
</property>
<property name="fields">
<map>
<entry key="id" value="java.lang.Integer" />
<entry key="firstName" value="java.lang.String" />
<entry key="lastName" value="java.lang.String" />
<entry key="gender" value="java.lang.String" />
<entry key="country" value="java.lang.String" />
<entry key="city" value="java.lang.String" />
<entry key="address" value="java.lang.String" />
<entry key="birthDate" value="java.util.Date" />
</map>
</property>
<property name="indexes">
<list>
<bean class="org.apache.ignite.cache.QueryIndex">
<constructor-arg value="id"/>
</bean>
<bean class="org.apache.ignite.cache.QueryIndex">
<constructor-arg value="firstName"/>
</bean>
<bean class="org.apache.ignite.cache.QueryIndex">
<constructor-arg value="lastName"/>
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>
</list>
</property>
<property name="peerClassLoadingEnabled" value="true"></property>
</bean>