I failed to configure the binaryobject ignitecache. My cache configuration as
following:
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="cache1" />
<property name="storeKeepBinary" value="true" />
<property name="queryEntities">
<bean class="org.apache.ignite.cache.QueryEntity">
<property name="keyType" value="java.lang.String"/>
<property name="valueType" value="com.Foo.Bar" />
<property name="fields">
<map>
<entry key="name" value="java.lang.String"
/>
<entry key="bar.name"
value="java.lang.String" />
</map>
</property>
<property name="indexes">
<list>
<value>name</value>
</list>
</property>
</bean>
</property>
<property name="indexedTypes">
<list>
<value>java.lang.String</value>
<value>org.apache.ignite.binary.BinaryObject</value>
</list>
</property>
</bean>
I can apply BinaryObjectBuilder to build a binaryobject with type
name:"com.example.Foo" and put it in the cache. But when i apply SqlQuery, a
IgniteSQLException is thrown with message:"Failed to find SQL table for
type: com.example.Foo". But when i change the cache configuration's
indexedTypes with com.example.Foo, The ignite fail to create such a cache,
cause of "com.example.Foo" doesn't exist. My binary object builder code as
following:
final Collection<BinaryObject> result = new ArrayList<>(numbers);
IntStream.range(1,numbers).forEach((i)->{
BinaryObjectBuilder fooBuilder
=ignite.binary().builder("com.example.Foo");
fooBuilder.setField("name","foo"+i).setField("age",i);
result.add(fooBuilder.build());
});
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/