qq97251695 opened a new issue #11782:
URL: https://github.com/apache/shardingsphere/issues/11782
## Bug Report
[ShardingSphere-JDBC 5.0.0-beta] An error occurred while running the
SpringBoot project.
### Which version of ShardingSphere did you use?
ShardingSphere 5.0.0-beta
### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
ShardingSphere-JDBC
### Expected behavior
Starting ApplicationContext.
### Actual behavior
Application run failed.
### Steps to reproduce the behavior, such as: SQL to execute, sharding rule
configuration, when exception occur etc.
I use ShardingSphere-JDBC in the springboot project, which is configured
through the Java API. An error occurred while running the project.
```
Error starting ApplicationContext. To display the conditions report re-run
your application with 'debug' enabled.
2021-08-12 14:39:27 [ERROR] [main]
[org.springframework.boot.SpringApplication] [823] - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'acceptedController' defined in file
[D:\Users\yangqf2\IdeaProjects\cdrds-boards-server\target\classes\com\spdb\cdrds\boards\controller\AcceptedController.class]:
Unsatisfied dependency expressed through constructor parameter 0; nested
exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'acceptedServiceImpl' defined in file
[D:\Users\yangqf2\IdeaProjects\cdrds-boards-server\target\classes\com\spdb\cdrds\boards\service\impl\AcceptedServiceImpl.class]:
Unsatisfied dependency expressed through constructor parameter 0; nested
exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'seqGeneratorService': Unsatisfied dependency
expressed through field 'seqParamService'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name
'seqParamServiceImp': Unsatisfied dependency expressed through field
'seqParamDao'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'ISeqGeneratorDao' defined in URL
[jar:file:/D:/Users/yangqf2/.m2/repository/com/spdb/speed4j/Speed4J-SequenceGenerator/3.0.0-RELEASE/Speed4J-SequenceGenerator-3.0.0-RELEASE.jar!/com/spdb/speed4j/sequence/dao/ISeqGeneratorDao.class]:
Unsatisfied dependency expressed through bean property 'sqlSessionFactory';
nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'sqlSessionFactory' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Unsatisfied dependency
expressed through method 'sqlSessionFactory' parameter 0; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/Dat
aSourceConfig.class]: Bean instantiation via factory method failed; nested
exception is org.springframework.beans.BeanInstantiationException: Failed to
instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw
exception; nested exception is
org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1338)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1185)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:554)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:866)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1204)
at com.spdb.cdrds.CdrdsBoardApplication.main(CdrdsBoardApplication.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:63)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'acceptedServiceImpl' defined in file
[D:\Users\yangqf2\IdeaProjects\cdrds-boards-server\target\classes\com\spdb\cdrds\boards\service\impl\AcceptedServiceImpl.class]:
Unsatisfied dependency expressed through constructor parameter 0; nested
exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'seqGeneratorService': Unsatisfied dependency
expressed through field 'seqParamService'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'seqParamServiceImp': Unsatisfied dependency expressed
through field 'seqParamDao'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'ISeqGeneratorDao' defined in URL
[jar:file:/D:/Users/yangqf2/.m2/repository/com/spdb/speed4j/Speed4J-SequenceGenerator/3.0.0-RELEASE/
Speed4J-SequenceGenerator-3.0.0-RELEASE.jar!/com/spdb/speed4j/sequence/dao/ISeqGeneratorDao.class]:
Unsatisfied dependency expressed through bean property 'sqlSessionFactory';
nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'sqlSessionFactory' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Unsatisfied dependency
expressed through method 'sqlSessionFactory' parameter 0; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Bean instantiation via
factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested
exception is org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.conc
urrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1338)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1185)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:554)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1276)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1196)
at
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
... 24 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'seqGeneratorService': Unsatisfied dependency
expressed through field 'seqParamService'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'seqParamServiceImp': Unsatisfied dependency expressed
through field 'seqParamDao'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'ISeqGeneratorDao' defined in URL
[jar:file:/D:/Users/yangqf2/.m2/repository/com/spdb/speed4j/Speed4J-SequenceGenerator/3.0.0-RELEASE/Speed4J-SequenceGenerator-3.0.0-RELEASE.jar!/com/spdb/speed4j/sequence/dao/ISeqGeneratorDao.class]:
Unsatisfied dependency expressed through bean property 'sqlSessionFactory';
nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'sqlSessionFactory' defined in class path resource
[com/s
pdb/cdrds/boards/config/DataSourceConfig.class]: Unsatisfied dependency
expressed through method 'sqlSessionFactory' parameter 0; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Bean instantiation via
factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested
exception is org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:598)
at
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:376)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1402)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:591)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1276)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1196)
at
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
... 38 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'seqParamServiceImp': Unsatisfied dependency
expressed through field 'seqParamDao'; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'ISeqGeneratorDao' defined in URL
[jar:file:/D:/Users/yangqf2/.m2/repository/com/spdb/speed4j/Speed4J-SequenceGenerator/3.0.0-RELEASE/Speed4J-SequenceGenerator-3.0.0-RELEASE.jar!/com/spdb/speed4j/sequence/dao/ISeqGeneratorDao.class]:
Unsatisfied dependency expressed through bean property 'sqlSessionFactory';
nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'sqlSessionFactory' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Unsatisfied dependency
expressed through method 'sqlSessionFactory' parameter 0; nested exception is
org.springframework.beans.factory.BeanCreationException
: Error creating bean with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Bean instantiation via
factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested
exception is org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:598)
at
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:376)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1402)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:591)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1276)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1196)
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:595)
... 52 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'ISeqGeneratorDao' defined in URL
[jar:file:/D:/Users/yangqf2/.m2/repository/com/spdb/speed4j/Speed4J-SequenceGenerator/3.0.0-RELEASE/Speed4J-SequenceGenerator-3.0.0-RELEASE.jar!/com/spdb/speed4j/sequence/dao/ISeqGeneratorDao.class]:
Unsatisfied dependency expressed through bean property 'sqlSessionFactory';
nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'sqlSessionFactory' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Unsatisfied dependency
expressed through method 'sqlSessionFactory' parameter 0; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Bean instantiation via
factory method failed; nested exception is org
.springframework.beans.BeanInstantiationException: Failed to instantiate
[javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested
exception is org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1506)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1386)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:591)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1276)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1196)
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:595)
... 65 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'sqlSessionFactory' defined in class path
resource [com/spdb/cdrds/boards/config/DataSourceConfig.class]: Unsatisfied
dependency expressed through method 'sqlSessionFactory' parameter 0; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Bean instantiation via
factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested
exception is org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
at
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:509)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1318)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1158)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:554)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1276)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1196)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1491)
... 76 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'dataSource' defined in class path resource
[com/spdb/cdrds/boards/config/DataSourceConfig.class]: Bean instantiation via
factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested
exception is org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627)
at
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:456)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1318)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1158)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:554)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:514)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:319)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1276)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1196)
at
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
at
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
... 89 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to
instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw
exception; nested exception is
org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at
org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
... 103 common frames omitted
Caused by:
org.apache.shardingsphere.infra.exception.ShardingSphereException:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilder.appendDialectRemainTables(SchemaBuilder.java:125)
at
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilder.appendRemainTables(SchemaBuilder.java:97)
at
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilder.build(SchemaBuilder.java:78)
at
org.apache.shardingsphere.infra.context.metadata.MetaDataContextsBuilder.buildSchema(MetaDataContextsBuilder.java:136)
at
org.apache.shardingsphere.infra.context.metadata.MetaDataContextsBuilder.buildMetaData(MetaDataContextsBuilder.java:101)
at
org.apache.shardingsphere.infra.context.metadata.MetaDataContextsBuilder.build(MetaDataContextsBuilder.java:90)
at
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource.<init>(ShardingSphereDataSource.java:55)
at
org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory.createDataSource(ShardingSphereDataSourceFactory.java:49)
at
com.spdb.cdrds.boards.config.DataSourceConfig.dataSource(DataSourceConfig.java:56)
at
com.spdb.cdrds.boards.config.DataSourceConfig$$EnhancerBySpringCGLIB$$6ee5d2a2.CGLIB$dataSource$3(<generated>)
at
com.spdb.cdrds.boards.config.DataSourceConfig$$EnhancerBySpringCGLIB$$6ee5d2a2$$FastClassBySpringCGLIB$$333a13b1.invoke(<generated>)
at
org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
at
org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
at
com.spdb.cdrds.boards.config.DataSourceConfig$$EnhancerBySpringCGLIB$$6ee5d2a2.dataSource(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 104 common frames omitted
Caused by: java.util.concurrent.ExecutionException:
java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilder.appendDialectRemainTables(SchemaBuilder.java:120)
... 122 common frames omitted
Caused by: java.lang.NullPointerException: null
at
org.apache.shardingsphere.infra.metadata.schema.builder.loader.dialect.MySQLTableMetaDataLoader.loadColumnMetaData(MySQLTableMetaDataLoader.java:95)
at
org.apache.shardingsphere.infra.metadata.schema.builder.loader.dialect.MySQLTableMetaDataLoader.loadColumnMetaDataMap(MySQLTableMetaDataLoader.java:77)
at
org.apache.shardingsphere.infra.metadata.schema.builder.loader.dialect.MySQLTableMetaDataLoader.loadTableMetaDataMap(MySQLTableMetaDataLoader.java:59)
at
org.apache.shardingsphere.infra.metadata.schema.builder.loader.dialect.MySQLTableMetaDataLoader.load(MySQLTableMetaDataLoader.java:54)
at
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilder.lambda$appendDialectRemainTables$1(SchemaBuilder.java:116)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Process finished with exit code 1
```
### Example codes for reproduce this issue (such as a github link).
```
DataSourceConfig.java
@Configuration
@ConditionalOnClass(DataSource.class)
@ConditionalOnBean(Environment.class)
@AutoConfigureAfter(AppConfig.class)
public class DataSourceConfig {
@Bean
@Primary
public DataSource dataSource() throws Exception {
Map<String, DataSource> datasourceMaps = new HashMap<>(2);
DruidDataSource druidDataSourceMaster =
generateDataSource(AppConfig.DATABASEMASTERURL);
datasourceMaps.put("master", druidDataSourceMaster);
DruidDataSource druidDataSourceSlave =
generateDataSource(AppConfig.DATABASESLAVEURL);
datasourceMaps.put("slave", druidDataSourceSlave);
Properties otherProperties = new Properties();
otherProperties.setProperty("sql-show", "true");
ReadwriteSplittingDataSourceRuleConfiguration
readwriteSplittingDataSourceRuleConfiguration =
new ReadwriteSplittingDataSourceRuleConfiguration("ms",
"master","master", Arrays.asList("slave"), "roundRobin");
DataSource shardingDataSource =
ShardingSphereDataSourceFactory.createDataSource(datasourceMaps, (Collection)
Arrays.asList(readwriteSplittingDataSourceRuleConfiguration), otherProperties);
return shardingDataSource;
}
@Bean
@Primary
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws
Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
// 读取mybatis.xml
Resource[] mapperLocations = new PathMatchingResourcePatternResolver()
.getResources(AppConfig.RESOURCEPATH);
Resource Resource = new
DefaultResourceLoader().getResource(AppConfig.MYBATISRESOURCEPATH);
bean.setMapperLocations(mapperLocations);
bean.setConfigLocation(Resource);
Speed4jVendorDatabaseIdProvider speed4jVendorDatabaseIdProvider = new
Speed4jVendorDatabaseIdProvider();
speed4jVendorDatabaseIdProvider.setDatabaseType(getProperties(AppConfig.DATABASETYPE));
bean.setDatabaseIdProvider(speed4jVendorDatabaseIdProvider);
return bean.getObject();
}
@Bean
@Primary
public DataSourceTransactionManager transactionManager(DataSource
dataSource) {
return new DataSourceTransactionManager(dataSource);
}
@Bean
@Primary
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory
sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
// 编程式事务管理
@Bean
@Primary
public DefaultTransactionDefinition defaultTransactionDefinition() {
DefaultTransactionDefinition dtd = new DefaultTransactionDefinition();
dtd.setPropagationBehaviorName(AppConfig.PROPAGATIONREQUIRED);
dtd.setIsolationLevelName(AppConfig.ISOLATION_READCOMMITTED);
dtd.setTimeout(600);
return dtd;
}
@Autowired
public Environment env;
/**
* 读取Properties值
*
* @param key
* @return
* @throws Exception
*/
private String getProperties(String key) throws Exception {
if (AppConfig.DATABASEPWD.equals(key)){
String value = AESUtil.decode(env.getProperty(key),
AppConfig.DECODEKEY);
return value;
}
return env.getProperty(key);
}
/**
* 初始化DataSource对象
*
* @param configuration 目前仅有 master和slave两值
* @return
* @throws Exception
*/
private DruidDataSource generateDataSource (String configuration) throws
Exception {
DruidDataSource druidDataSource = new DruidDataSource();
if (AppConfig.DATABASESLAVEURL.equals(configuration)) {
druidDataSource.setUrl(getProperties(AppConfig.DATABASESLAVEURL));
} else {
druidDataSource.setUrl(getProperties(AppConfig.DATABASEMASTERURL));
}
druidDataSource.setDriverClassName(getProperties(AppConfig.DATABASEDRIVER));
druidDataSource.setUsername(getProperties(AppConfig.DATABASEUSER));
druidDataSource.setPassword(getProperties(AppConfig.DATABASEPWD));
// 配置初始化大小、最小、最大
druidDataSource.setInitialSize(Integer.valueOf(getProperties(AppConfig.DATABASEINITIALSIZE)));
druidDataSource.setMinIdle(Integer.valueOf(getProperties(AppConfig.DATABASEMINIDLE)));
druidDataSource.setMaxActive(Integer.valueOf(getProperties(AppConfig.DATABASEMAXACTIVE)));
// 配置获取连接等待超时的时间
druidDataSource.setMaxWait(60000L);
// 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
druidDataSource.setTimeBetweenEvictionRunsMillis(60000L);
// 配置一个连接在池中最小生存的时间,单位是毫秒 -->
druidDataSource.setMinEvictableIdleTimeMillis(300000L);
druidDataSource.setTestWhileIdle(true);
druidDataSource.setTestOnBorrow(false);
druidDataSource.setTestOnReturn(false);
// 打开PSCache,并且指定每个连接上PSCache的大小
druidDataSource.setPoolPreparedStatements(true);
druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(20);
// 配置监控统计拦截的filters
druidDataSource.setFilters(AppConfig.STAT);
return druidDataSource;
}
}
```
--
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]