Java Apache Ignite的示例(Ignite JDBC驱动程序)无法连接,因为找不到适合url的驱动程序(JDBC:mysql://***)

Java Apache Ignite的示例(Ignite JDBC驱动程序)无法连接,因为找不到适合url的驱动程序(JDBC:mysql://***),java,jdbc,ignite,Java,Jdbc,Ignite,我尝试从给定的数据源加载缓存,但失败 Exception in thread "main" javax.cache.integration.CacheLoaderException: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver fo

我尝试从给定的数据源加载缓存,但失败

    Exception in thread "main" javax.cache.integration.CacheLoaderException: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/platform75
        at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadCache(GridCacheStoreManagerAdapter.java:538)
        at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.localLoadCache(GridDhtCacheAdapter.java:497)
        at org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.localLoadCache(GridCacheProxyImpl.java:228)
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJob.localExecute(GridCacheAdapter.java:5753)
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJobV2.localExecute(GridCacheAdapter.java:5802)
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter$TopologyVersionAwareJob.execute(GridCacheAdapter.java:6473)
        at org.apache.ignite.compute.ComputeJobAdapter.call(ComputeJobAdapter.java:132)
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2V2.execute(GridClosureProcessor.java:2037)
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:556)
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6564)
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:550)
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:479)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1114)
        at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1375)
        at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:643)
        at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:535)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
        at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:679)
        at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:403)
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:417)
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:390)
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter.globalLoadCacheAsync(GridCacheAdapter.java:3790)
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter.globalLoadCache(GridCacheAdapter.java:3729)
        at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.loadCache(IgniteCacheProxy.java:390)
        at com.primeton.ignitedb.example.CacheSpringStore.loadCache(CacheSpringStore.java:113)
        at com.primeton.ignitedb.example.CacheSpringStore.main(CacheSpringStore.java:91)
    Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/platform75
        at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:627)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:692)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:724)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:749)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:764)
        at com.primeton.ignitedb.example.CacheSpringPersonStore.loadCache(CacheSpringPersonStore.java:130)
        at org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore.loadCache(GridCacheWriteBehindStore.java:369)
        at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadCache(GridCacheStoreManagerAdapter.java:512)
        ... 26 more
    Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/platform75
        at org.h2.jdbcx.JdbcDataSource.getJdbcConnection(JdbcDataSource.java:192)
        at org.h2.jdbcx.JdbcDataSource.getXAConnection(JdbcDataSource.java:353)
        at org.h2.jdbcx.JdbcDataSource.getPooledConnection(JdbcDataSource.java:385)
        at org.h2.jdbcx.JdbcConnectionPool.getConnectionNow(JdbcConnectionPool.java:227)
        at org.h2.jdbcx.JdbcConnectionPool.getConnection(JdbcConnectionPool.java:199)
        at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
        at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
        ... 34 more
代码如下:

// Configure Spring session listener.
                cacheCfg.setCacheStoreSessionListenerFactories(new Factory<CacheStoreSessionListener>() {
                    @Override public CacheStoreSessionListener create() {
                        CacheSpringStoreSessionListener lsnr = new CacheSpringStoreSessionListener();

                        lsnr.setDataSource(JdbcConnectionPool.create("jdbc:mysql://localhost:3306/platform75",
        "root", "root"));
                        return lsnr;
                    }
                });

如果您试图从MySQL加载数据以点燃,则需要在类路径上安装MySQL驱动程序。在启动节点之前,只需将驱动程序JAR放入IGNITE_HOME/libs文件夹,然后重新运行数据加载。

您的问题非常令人困惑:您的标题提到IGNITE JDBC驱动程序,您使用H2数据源连接MySQL JDBC url。您需要显示更多代码,尤其是数据源配置。如果您正在学习某个示例,请至少提供该示例的链接;连接conn=DriverManager.getConnectionString.formatjdbc:ignite:cfg://cache=%s@%s、 cacheName,CacheSpringStore.SPRING\u CFG\u路径;感谢您的回复,我在论坛上看到,您解决了很多关于Apache的着火问题,考虑在我们的产品中使用这个缓存框架目前正在探索中。另外,还有一个问题:如果我们使用ApacheIgnite连接Mysql数据库,内存支持是左连接还是内连接?另一个问题是Apache Ignite如何在实时刷新数据库时保持一致?支持所有类型的连接。为了使数据一致,您应该通过Ignite和write-through更新数据。如果直接更新DB,则必须手动重新加载相应的条目。当使用web控制台生成的docker映像时,如何确保MySQL JDBC驱动程序将放入IGNITE_HOME/libs文件夹?我试着把它放在jdbc_驱动程序文件夹中,但是没有用。