Closed syhasia closed 4 years ago
There is no error message about sharding in the log . I guess it's jar conflict. Could you refer to the examples to configure dependency and try again?
used ut and found some error:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration': Initialization of bean failed; nested exception is org.apache.shardingsphere.core.exception.ShardingException: Can't find datasource type!
but i have already configured the datasource on application.properites file...
@syhasia Hi
How about commenting the following item out and import Sharding-Spring-Boot
?
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.springboot.version}</version>
</dependency>
Your active profile is dev, may be something wrong with this file
2020-07-06 20:22:56.603 [INFO ] [main] test.TaskApplication[logStartupProfileInfo:684] - The following profiles are active: dev
@syhasia Hi How about commenting the following item out and import
Sharding-Spring-Boot
?<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.springboot.version}</version> </dependency>
are you mentioned the following dependency? if yes, i have already added it in my pom file.
fix it. the root cause is mybatis version issue, i changed the mybatis version to 2.1.1 to fix it. thanks everyone!
Hi, I integrated sharding-jdbc in my spring boot project, but my application cannot be started. once i comment off sharding-jdbc maven dependency from pom, the application can be started. anyone can help to resolve it?
the pom file:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
application.properties
server.port=8080 server.context-path=/scheduler spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp spring.datasource.url=jdbc:mysql://11.1.1.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false spring.datasource.username=test spring.datasource.password=test spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.mail.host=mail.test.com spring.mail.username=test@test.com spring.mail.password=test spring.mail.port=587 spring.mail.protocol=smtp spring.mail.default-encoding=UTF-8 spring.main.allow-bean-definition-overriding=true logging.pattern.level=DEBUG spring.shardingsphere.datasource.names=master
数据源 主库
spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver spring.shardingsphere.datasource.master.url=jdbc:mysql://11.1.1.1:3306/glodonrobot?characterEncoding=utf-8 spring.shardingsphere.datasource.master.username=test spring.shardingsphere.datasource.master.password=test
数据分表规则
spring.shardingsphere.sharding.tables.user.actual-data-nodes=master.user$->{0..3}
指定主键
spring.shardingsphere.sharding.tables.user.table-strategy.inline.sharding-column=id
分表规则为主键除以3取模
spring.shardingsphere.sharding.tables.user.table-strategy.inline.algorithm-expression=user$->{id % 3}#指定所需分的表
打印sql
spring.shardingsphere.props.sql.show=true
mybatis.mapper-locations=classpath:mapping/*.xml mybatis.type-aliases-package=test.task pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql
log
logging.config=classpath:logback-local.xml
redis config
redis.host.ip=11.1.1.1 redis.port=6379 redis.password= redis.database=0 redis.max.active=600 redis.max.wait=1000 redis.max.idle=3000 redis.min.idle=0
logging.config=classpath:logback.xml spring.profiles.active=dev
error output:
2020-07-06 20:22:56.601 [INFO ] [main] test.TaskApplication[logStarting:50] - Starting TaskApplication on test with PID 93568 (E:\gitproject\scheduler\target\classes started by test in E:\gitproject\scheduler) 2020-07-06 20:22:56.603 [INFO ] [main] test.TaskApplication[logStartupProfileInfo:684] - The following profiles are active: dev 2020-07-06 20:22:56.833 [INFO ] [main] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext[prepareRefresh:590] - Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@dbf57b3: startup date [Mon Jul 06 20:22:56 CST 2020]; root of context hierarchy 2020-07-06 20:22:57.510 [INFO ] [main] o.s.d.r.c.RepositoryConfigurationDelegate[multipleStoresDetected:172] - Multiple Spring Data modules found, entering strict repository configuration mode! 2020-07-06 20:22:57.928 [INFO ] [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker[postProcessAfterInitialization:326] - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$54648c5d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2020-07-06 20:22:58.523 [INFO ] [main] o.s.b.w.e.tomcat.TomcatWebServer[initialize:91] - Tomcat initialized with port(s): 8080 (http) 2020-07-06 20:22:58.536 [INFO ] [main] o.a.coyote.http11.Http11NioProtocol[log:180] - Initializing ProtocolHandler ["http-nio-8080"] 2020-07-06 20:22:58.545 [INFO ] [main] o.a.catalina.core.StandardService[log:180] - Starting service [Tomcat] 2020-07-06 20:22:58.546 [INFO ] [main] o.a.catalina.core.StandardEngine[log:180] - Starting Servlet Engine: Apache Tomcat/8.5.34 2020-07-06 20:22:58.555 [INFO ] [localhost-startStop-1] o.a.c.core.AprLifecycleListener[log:180] - The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_191\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\ProgramData\chocolatey\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Java\jdk1.8.0_191;C:\Users\test\Downloads\apache-maven-3.6.2-bin\apache-maven-3.6.2\bin;C:\Users\test\AppData\Local\Microsoft\WindowsApps;C:\Users\test\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\test\AppData\Roaming\npm;C:\Program Files\Java\jdk1.8.0_191;C:\Users\test\Downloads\apache-maven-3.6.2-bin\apache-maven-3.6.2\bin\mvn;;C:\Users\test\AppData\Local\Programs\EmEditor;.] 2020-07-06 20:22:58.688 [INFO ] [localhost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/][log:180] - Initializing Spring embedded WebApplicationContext 2020-07-06 20:22:58.688 [INFO ] [localhost-startStop-1] o.s.web.context.ContextLoader[prepareWebApplicationContext:285] - Root WebApplicationContext: initialization completed in 1855 ms 2020-07-06 20:22:58.745 [INFO ] [localhost-startStop-1] o.s.b.w.s.ServletRegistrationBean[addRegistration:187] - Servlet dispatcherServlet mapped to [/] 2020-07-06 20:22:58.748 [INFO ] [localhost-startStop-1] o.s.b.w.s.FilterRegistrationBean[configure:245] - Mapping filter: 'characterEncodingFilter' to: [/] 2020-07-06 20:22:58.749 [INFO ] [localhost-startStop-1] o.s.b.w.s.FilterRegistrationBean[configure:245] - Mapping filter: 'hiddenHttpMethodFilter' to: [/] 2020-07-06 20:22:58.749 [INFO ] [localhost-startStop-1] o.s.b.w.s.FilterRegistrationBean[configure:245] - Mapping filter: 'httpPutFormContentFilter' to: [/] 2020-07-06 20:22:58.749 [INFO ] [localhost-startStop-1] o.s.b.w.s.FilterRegistrationBean[configure:245] - Mapping filter: 'requestContextFilter' to: [/] 2020-07-06 20:22:59.090 [INFO ] [main] c.alibaba.druid.pool.DruidDataSource[init:1002] - {dataSource-1} inited Mon Jul 06 20:22:59 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2020-07-06 20:22:59.540 [INFO ] [main] o.a.catalina.core.StandardService[log:180] - Stopping service [Tomcat]
Process finished with exit code 1