gavinWithGu opened a new issue, #29386:
URL: https://github.com/apache/shardingsphere/issues/29386

   ## Question
   Hi team,
   
   I generate the sample project by project 
**shardingsphere-jdbc-example-generator**, and try to test with the project 
**readwrite-splitting--spring-boot-starter-jdbc--standalone--local**, but get 
the error logs below, seem like the project is not able to load the driver 
classes which was defined in the config.yaml
   
   ```
   Exception in thread "main" 
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to 
initialize pool: Failed to load driver class org.h2.Driver in either of 
HikariConfig class loader or Thread context classloader
        at 
com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:589)
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:575)
        at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
        at 
com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
        at 
org.apache.shardingsphere.example.readwritesplitting.spring.boot.starter.jdbc.repository.OrderRepository.dropTable(OrderRepository.java:51)
        at 
org.apache.shardingsphere.example.readwritesplitting.spring.boot.starter.jdbc.service.ExampleService.cleanEnvironment(ExampleService.java:139)
        at 
org.apache.shardingsphere.example.readwritesplitting.spring.boot.starter.jdbc.service.ExampleService.run(ExampleService.java:58)
        at 
org.apache.shardingsphere.example.readwritesplitting.spring.boot.starter.jdbc.ExampleMain.main(ExampleMain.java:33)
   Caused by: java.lang.RuntimeException: Failed to load driver class 
org.h2.Driver in either of HikariConfig class loader or Thread context 
classloader
        at 
com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:485)
        at 
org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository.init(JDBCRepository.java:61)
        at 
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader.findService(TypedSPILoader.java:61)
        at 
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader.getService(TypedSPILoader.java:110)
        at 
org.apache.shardingsphere.mode.manager.standalone.NewStandaloneContextManagerBuilder.build(NewStandaloneContextManagerBuilder.java:48)
        at 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.createContextManager(ShardingSphereDataSource.java:78)
        at 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.<init>(ShardingSphereDataSource.java:66)
        at 
org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory.createDataSource(ShardingSphereDataSourceFactory.java:95)
        at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:167)
        at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:102)
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.createDataSource(DriverDataSourceCache.java:52)
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.lambda$get$0(DriverDataSourceCache.java:46)
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache$$Lambda$249/1416415959.apply(Unknown
 Source)
        at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown 
Source)
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.get(DriverDataSourceCache.java:46)
        at 
org.apache.shardingsphere.driver.ShardingSphereDriver.connect(ShardingSphereDriver.java:53)
        at 
com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121)
        at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354)
        at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202)
        at 
com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554)
        ... 6 more
   ```
   
   **application.yaml**
   ```
   server:
     port: 8082
   spring:
     datasource:
       driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
       url: jdbc:shardingsphere:classpath:config.yaml
   ```
   
   **config.yaml**
   ```
   
   mode:
     type: Standalone
     repository:
       type: JDBC
       props:
         path: demo
   
   dataSources:
     ds_0:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: 
jdbc:mysql://localhost:3306/demo_ds_0?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
       username: root
       password: ***
       maxPoolSize: 10
     ds_1:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: 
jdbc:mysql://localhost:3306/demo_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
       username: root
       password: ***
       maxPoolSize: 10
     ds_2:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: 
jdbc:mysql://localhost:3306/demo_ds_2?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
       username: root
       password: ***
       maxPoolSize: 10
   
   rules:
   - !READWRITE_SPLITTING
     dataSources:
       readwrite_ds:
         writeDataSourceName: ds_0
         readDataSourceNames:
           - ds_1
           - ds_2
         loadBalancerName: round_robin
     loadBalancers:
       round_robin:
         type: ROUND_ROBIN
   
   props:
     sql-show: true
   
   ```
   
   **pom.xml**
   ```
   
       <modelVersion>4.0.0</modelVersion>
       <groupId>org.apache.shardingsphere.example</groupId>
       
<artifactId>readwrite-splitting--spring-boot-starter-jdbc--standalone--local</artifactId>
       <version>5.4.1</version>
       <name>${project.artifactId}</name>
       
       <dependencies>
           <dependency>
               <groupId>org.apache.shardingsphere</groupId>
               <artifactId>shardingsphere-jdbc-core</artifactId>
               <version>${project.version}</version>
           </dependency>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-jdbc</artifactId>
               <version>2.2.0.RELEASE</version>
               <exclusions>
                   <exclusion>
                       <artifactId>snakeyaml</artifactId>
                       <groupId>org.yaml</groupId>
                   </exclusion>
               </exclusions>
           </dependency>
           <dependency>
               <artifactId>snakeyaml</artifactId>
               <groupId>org.yaml</groupId>
               <version>1.33</version>
           </dependency>
           
           <dependency>
               <groupId>org.projectlombok</groupId>
               <artifactId>lombok</artifactId>
               <version>1.18.20</version>
               <scope>provided</scope>
           </dependency>
           <dependency>
               <groupId>com.zaxxer</groupId>
               <artifactId>HikariCP</artifactId>
               <version>3.4.2</version>
           </dependency>
           <dependency>
               <groupId>com.mysql</groupId>
               <artifactId>mysql-connector-j</artifactId>
               <version>8.0.31</version>
           </dependency>
           
           <dependency>
               <groupId>org.slf4j</groupId>
               <artifactId>slf4j-api</artifactId>
               <version>1.7.7</version>
           </dependency>
           <dependency>
               <groupId>ch.qos.logback</groupId>
               <artifactId>logback-classic</artifactId>
               <version>1.2.10</version>
           </dependency>
       </dependencies>
   ```
   
   Cloud you please check the error and guide me how to slove it?
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to