Ich habe folgende Abfrageeinheit für meine Datenbank geschrieben. Ich stelle diese Datei zur Verfügung, um den Serverknoten für die Indexzuordnung zu initialisieren. Das Laden eines Teils der Daten erfolgt über den ignite client node.Abrufen von Nullabfragen nach Verwendung von QueryEntity
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
\t <property name="peerClassLoadingEnabled" value="false"/>
\t <property name="cacheConfiguration">
<list>
<!-- Partitioned cache example configuration (Atomic mode). -->
<bean class="org.apache.ignite.configuration.CacheConfiguration">
\t <property name="name" value="warehouse_cache"/>
\t \t <property name="backups" value="0"/>
\t \t <property name="copyOnRead" value="true"/>
\t \t <property name="memoryMode" value="ONHEAP_TIERED"/>
\t \t <property name="cacheMode" value="PARTITIONED"/> \t
\t \t \t
\t \t \t <!-- Configure query entities -->
\t \t \t <property name="queryEntities">
\t \t \t \t <list>
\t \t \t \t \t <bean class="org.apache.ignite.cache.QueryEntity">
\t \t \t \t \t \t <property name="keyType" value="java.lang.Long"/>
\t \t \t \t \t \t <property name="valueType" value="schema.warehouse"/>
\t \t \t \t \t \t <property name="fields">
\t \t \t \t \t \t \t <map>
\t \t \t \t \t \t \t \t <entry key="w_id" value="java.lang.Integer"/>
\t \t \t \t \t \t \t \t <entry key="w_name" value="java.lang.String"/>
\t \t \t \t \t \t \t \t <entry key="w_street_1" value="java.lang.String"/>
\t \t \t \t \t \t \t \t <entry key="w_street_2" value="java.lang.String"/>
\t \t \t \t \t \t \t \t <entry key="w_city" value="java.lang.String"/>
\t \t \t \t \t \t \t \t <entry key="w_state" value="java.lang.String"/>
\t \t \t \t \t \t \t \t <entry key="w_zip" value="java.lang.String"/>
\t \t \t \t \t \t \t \t <entry key="w_tax" value="java.lang.Double"/>
\t \t \t \t \t \t \t \t <entry key="w_ytd" value="java.lang.Double"/>
\t \t \t \t \t \t \t \t
\t \t \t \t \t \t \t </map>
\t \t \t \t \t \t </property>
\t \t \t \t \t \t <property name="indexes">
\t \t \t \t \t \t \t <list>
\t \t \t \t \t \t \t \t <bean class="org.apache.ignite.cache.QueryIndex">
\t \t \t \t \t \t \t \t \t <constructor-arg value="w_id"/>
\t \t \t \t \t \t \t \t </bean>
\t \t \t \t \t \t \t </list>
\t \t \t \t \t \t </property>
\t \t \t \t \t </bean>
\t \t \t \t </list>
\t \t \t </property> \t \t
\t </bean>
</list>
</property>
\t
</bean>
</beans>
Alle Einträge dieses Warehouse-Tabelle wird korrekt (überprüft mit ignitevisorcmd.sh) geladen. Für diese Abfrageeinheit habe ich die JAR-Datei des Paketschemas erstellt, die die Warehouse-Klasse enthält. Ich habe diese JAR-Datei in libs-Ordner in Apache gezündet Installationspfad. Wenn ich eine Abfrage für diese Warehouse-Tabelle ausfühle, erhalte ich eine Nullausgabe. Warum passiert dies?
Ich habe warehouse.java mit dem Klassenlager zum Paketschema hinzugefügt. Deshalb habe ich schema.warehouse geschrieben. Die Abfrage, die ich ausführe, ist 'SELECT * aus dem Warehouse w WHERE w.w_id = 1' und der Eintrag, der w_id = 1 entspricht, ist im Warehouse-Cache vorhanden. – rishi007bansod