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]