2017-11-21 1 views
0

das ist mein sapplication.ymlWarum mein HikariCP Springboot diese Ausnahme wirft?

spring: 

Datenquelle: Typ: com.zaxxer.hikari.HikariDataSource primär:

ApplicationContext applicationContext = SpringApplication.run(
      TransqlApplication.class, args); 
    DataSource dataSource = applicationContext.getBean(DataSource.class); 
    System.out.println("datasource is :" + dataSource); 
    //检查数据库是否是hikar数据库连接池 
    if (!(dataSource instanceof HikariDataSource)) { 
     System.err.println(" Wrong datasource type :" 
       + dataSource.getClass().getCanonicalName()); 
     System.exit(-1); 
    } 
    try { 
     Connection connection = dataSource.getConnection(); 
     ResultSet rs = connection.createStatement() 
       .executeQuery("SELECT 1"); 
     if (rs.first()) { 

      System.out.println("Connection OK!"); 
     } else { 
      System.out.println("Something is wrong"); 
     } 
     // connection.close(); 
     // System.exit(0); 

    } catch (SQLException e) { 
     System.out.println("FAILED"); 
     e.printStackTrace(); 
     System.exit(-2); 
     // TODO: handle exception 
    } 

und:

serverName: localhost 
    portNumber: 3306 
    databaseName: ccoee 
    username: root 
    password: root 
    dataSourceClassName: com.mysql.cj.jdbc.Driver 
secondary: 
    serverName: localhost 
    portNumber: 3306 
    databaseName: ccoee 
    username: root 
    password: root 
    dataSourceClassName: com.mysql.cj.jdbc.Driver 

dies mein Starter das ist meine Ausnahme:

datasource is :HikariDataSource (null) 

2017.11.21 10: 10: 33.126Exception in thread "main" java.lang.RuntimeException: java.lang.ClassCastException: Kann nicht gegossen com.mysql.cj.jdbc.Driver zu javax.sql.DataSource INFO unter com.zaxxer.hikari.util.UtilityElf.createInstance (UtilityElf.java:93) 676 --- unter com.zaxxer.hikari.pool.PoolBase.initializeDataSource (PoolBase.java:338) [main] bei com .zaxxer.hikari.pool.PoolBase. (PoolBase.java:117) com.zaxxer.hikari.HikariDataSource bei com.zaxxer.hikari.pool.HikariPool. (HikariPool.java:109) : at com.zaxxer.hikari .HikariDataSource.getConnection (HikariDataSource.java:97) HikariPool-1 - Starten ... bei com.mycjj.transql.TransqlApplication.main (TransqlApplication.main) tion.java:51) verursacht durch: java.lang.ClassCastException: Kann nicht com.mysql.cj.jdbc.Driver zu javax.sql.DataSource bei java.lang.Class.cast (Class.java:3369) bei com.zaxxer.hikari.util.UtilityElf.createInstance (UtilityElf.java:82) ... 5 mehr 2017-11-21 10: 10: 34.204 FEHLER 676 --- [pool-1-thread-1] com.mycjj.transql.GetSql: 数据库 连接 异常, 请 检查 账号/账号/密码 是否 正确

Antwort

0

Eine JDBC-Treiberklasse ist keine javax.sql.DataSource. Sie sollten die dataSourceClassName Eigenschaft nicht verwenden, verwenden Sie die driverClassName Eigenschaft.

Außerdem ist com.mysql.cj.jdbc.Driver der Klassenname einer Entwicklungsversion von MySQL Connector/J 6.0 (die aufgegeben wurde) oder 8.0 (die sich noch in der Entwicklung befindet). Es ist - zu dieser Zeit - keine freigegebene Version, und Sie sollten es nicht in der Produktion verwenden.

Verwandte Themen