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

标签 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 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 加载到 Ignite,则需要在类路径上安装 MySQL 驱动程序。只需在启动节点之前将驱动程序 JAR 放入 IGNITE_HOME/libs 文件夹中,然后重新运行数据加载即可。

关于java - Apache Ignite 的示例(Ignite JDBC 驱动程序)无法连接,因为没有找到适合 url 的驱动程序(jdbc :mysql://***),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42689671/

相关文章:

java - 刚接触数据库,我该如何设计? MySQL 和 Java

SQLite/JDBC 内连接

java - 了解客户端和服务器

java - InnoDB、MyISAM 等引擎中的幻读

java - 从具有两个不同大小/长度的两个数组列表中获取相同值的索引

mysql - SpagoBI 5 JDBC 在远程服务器中的安装

java - 使用带有 JDBC ignite 的 Spring Boot Web 应用程序而不是连接 ignite 的 dot NET native 方法对性能有影响吗?

java - org.apache.ignite.IgniteException : Failed to find deployed service

java - 让 Maven 项目构建自己的依赖项?

java - Phonegap 导出到 Android