I am trying to enable read-through on my cache as follows:

<bean id= "simpleDataSource" class="org.h2.jdbcx.JdbcDataSource"/>

<bean id="credentialsCacheTemplate" 
class="org.apache.ignite.configuration.CacheConfiguration">
                <property name="name" value="testCache"/>
                <property name="cacheMode" value="PARTITIONED"/>
                <property name="backups" value="1"/>
                <property name="readThrough" value="true"/>
                <property name="cacheStoreFactory">
                               <bean 
class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
                                               <property name="dataSourceBean" 
value="simpleDataSource" />
                               </bean>
                </property>
</bean>

Once I activate my cluster I get this error message:

SEVERE: Failed to initialize cache. Will try to rollback cache start routine. 
[cacheName=testCache]
class org.apache.ignite.IgniteCheckedException: Failed to start component: 
javax.cache.CacheException: Failed access to metadata for detect database 
dialect.
        at 
org.apache.ignite.internal.util.IgniteUtils.startLifecycleAware(IgniteUtils.java:8757)
        at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1344)
        at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1799)
        at 
org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:751)
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest(GridDhtPartitionsExchangeFuture.java:817)
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:583)
        at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2279)
        at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.cache.CacheException: Failed access to metadata for detect 
database dialect.
        at 
org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.resolveDialect(CacheAbstractJdbcStore.java:273)
        at 
org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.start(CacheAbstractJdbcStore.java:305)
        at 
org.apache.ignite.internal.util.IgniteUtils.startLifecycleAware(IgniteUtils.java:8753)
        ... 8 more
Caused by: java.sql.SQLException: No suitable driver found for
        at 
org.h2.jdbcx.JdbcDataSource.getJdbcConnection(JdbcDataSource.java:190)
        at org.h2.jdbcx.JdbcDataSource.getConnection(JdbcDataSource.java:159)
        at 
org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.openConnection(CacheAbstractJdbcStore.java:325)
        at 
org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.resolveDialect(CacheAbstractJdbcStore.java:268)
        ... 10 more


I can see that there is a message "No suitable driver found for .." but 
shouldn't the H2 driver already be on the Ignite classpath already? If not, how 
do I fix it?

Regards
Thomas Isaksen

Reply via email to