apache / shardingsphere

Distributed SQL transaction & query engine for data sharding, scaling, encryption, and more - on any database.
Apache License 2.0
19.87k stars 6.73k forks source link

shardingshere 5.0.0-alpha+springboot 2.3 : Cannot subclass final class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource #9584

Closed djvip001 closed 3 years ago

djvip001 commented 3 years ago

yml:

server:
  port: ${random.int(8000,9000)}
spring:
  application:
    name: jdt_assetOrder
  aop:
    proxy-target-class: true
   main:
     allow-bean-definition-overriding: true
  shardingsphere:
    datasource:
      common:
        driver-class-name: com.mysql.cj.jdbc.Driver
        type: com.zaxxer.hikari.HikariDataSource
        username: root
        password: htmj123456
      master1:
        jdbc-url: jdbc:mysql://192.168.0.136:3306/xxx?characterEncoding=utf-8&serverTimezone=GMT%2B8
      slave0:
        jdbc-url: jdbc:mysql://192.168.0.136:3306/xxx?characterEncoding=utf-8&serverTimezone=GMT%2B8
      slave1:
        jdbc-url: jdbc:mysql://192.168.0.136:3306/xxx?characterEncoding=utf-8&serverTimezone=GMT%2B8
      names: master1,slave0,slave1
    enabled: true
    rules:
      replica-query:
        data-sources:
          ds:
            load-balancer-name: ROUND_ROBIN
            primary-data-source-name: master1
            replica-data-source-names:
              - slave0
              - slave1
        load-balancers:
          round-robin:
            type: ROUND_ROBIN
            props:
              sql-show: true

  redis:
    host: 192.168.0.136
    port: 6379
    database: 2
    lettuce:
      pool:
        max-active: 8
        max-idle: 8
        max-wait: -1
        min-idle: 0
    password: htmj123456
    timeout: 6000

dubbo:
  registry:
    address: nacos://192.168.0.154:8848
    username: nacos
    password: nacos
    simplified: true
  application:
    name: jdt-assetOrder
  protocol:
    port: -1
    id: dubbo
  scan:
    base-packages: com.htmj
  consumer:
    check: false
    timeout: 6000
  provider:
    timeout: 3000

nacos:
  config:
    server-addr: 192.168.0.154:8848
    namespace: 092f199c-2bd3-41e4-b3d7-585cecf5d2ce
    username: nacos
    password: nacos
mybatis-plus:
  global-config:
    db-config:
      table-underline: true
  configuration:
    log-prefix: dao.
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.htmj.entity

seata:
  config:
    type: nacos
    nacos:
      server-addr: 192.168.0.154:8848
      username: nacos
      password: nacos
  application-id: jdt_assetOrder
  tx-service-group: jdt_assetOrder

management:
  endpoints:
    web:
      exposure:
        include: '*'
  metrics:
    tags: { application,'${spring.application.name}' }
  health:
    db:
      enabled: false
pagehelper:
  page-size-zero: true

resources/seate.conf:

client {
    application.id = jdt_assetOrder
    transaction.service.group = jdt_assetOrder
} 

error message:

2021-03-04 10:44:37.849 [main] INFO  org.apache.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.35]
2021-03-04 10:44:37.989 [main] INFO  o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] -Initializing Spring embedded WebApplicationContext
2021-03-04 10:44:37.989 [main] INFO  org.springframework.web.context.ContextLoader -Root WebApplicationContext: initialization completed in 4630 ms
2021-03-04 10:44:39.527 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor -Initializing ExecutorService 'applicationTaskExecutor'
2021-03-04 10:44:39.893 [main] INFO  com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting...
2021-03-04 10:44:40.024 [main] INFO  com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed.
2021-03-04 10:44:40.038 [main] INFO  com.zaxxer.hikari.HikariDataSource -HikariPool-2 - Starting...
2021-03-04 10:44:40.047 [main] INFO  com.zaxxer.hikari.HikariDataSource -HikariPool-2 - Start completed.
2021-03-04 10:44:40.048 [main] INFO  com.zaxxer.hikari.HikariDataSource -HikariPool-3 - Starting...
2021-03-04 10:44:40.058 [main] INFO  com.zaxxer.hikari.HikariDataSource -HikariPool-3 - Start completed.
2021-03-04 10:44:40.130 [main] INFO  ShardingSphere-metadata -Loading 53 tables' meta data for unconfigured tables.
2021-03-04 10:44:40.133 [main] INFO  ShardingSphere-metadata -Loading 53 tables' meta data for unconfigured tables.
2021-03-04 10:44:40.136 [main] INFO  ShardingSphere-metadata -Loading 53 tables' meta data for unconfigured tables.
2021-03-04 10:44:40.145 [main] INFO  ShardingSphere-metadata -Loading 53 tables' meta data for unconfigured tables.
2021-03-04 10:44:40.148 [main] INFO  ShardingSphere-metadata -Loading 53 tables' meta data for unconfigured tables.
2021-03-04 10:44:40.152 [main] INFO  ShardingSphere-metadata -Loading 53 tables' meta data for unconfigured tables.
2021-03-04 10:44:40.159 [main] INFO  o.a.s.infra.context.schema.SchemaContextsBuilder -Load meta data for schema logic_db finished, cost 77 milliseconds.
2021-03-04 10:44:40.206 [main] INFO  i.s.s.a.datasource.SeataAutoDataSourceProxyCreator -Auto proxy of [shardingSphereDataSource]
2021-03-04 10:44:40.212 [main] INFO  org.springframework.aop.framework.CglibAopProxy -Unable to proxy interface-implementing method [public final void org.apache.shardingsphere.driver.jdbc.unsupported.AbstractUnsupportedOperationDataSource.setLoginTimeout(int) throws java.sql.SQLException] because it is marked as final: Consider using interface-based JDK proxies instead!
2021-03-04 10:44:40.212 [main] INFO  org.springframework.aop.framework.CglibAopProxy -Unable to proxy interface-implementing method [public final int org.apache.shardingsphere.driver.jdbc.unsupported.AbstractUnsupportedOperationDataSource.getLoginTimeout() throws java.sql.SQLException] because it is marked as final: Consider using interface-based JDK proxies instead!
2021-03-04 10:44:40.212 [main] INFO  org.springframework.aop.framework.CglibAopProxy -Unable to proxy interface-implementing method [public final java.lang.Object org.apache.shardingsphere.driver.jdbc.adapter.WrapperAdapter.unwrap(java.lang.Class) throws java.sql.SQLException] because it is marked as final: Consider using interface-based JDK proxies instead!
2021-03-04 10:44:40.212 [main] INFO  org.springframework.aop.framework.CglibAopProxy -Unable to proxy interface-implementing method [public final boolean org.apache.shardingsphere.driver.jdbc.adapter.WrapperAdapter.isWrapperFor(java.lang.Class)] because it is marked as final: Consider using interface-based JDK proxies instead!
2021-03-04 10:44:40.388 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext -Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shardingSphereDataSource' defined in class path resource [org/apache/shardingsphere/spring/boot/SpringBootConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker': Invocation of init method failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Cannot subclass final class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource
2021-03-04 10:44:40.389 [main] INFO  o.s.scheduling.concurrent.ThreadPoolTaskExecutor -Shutting down ExecutorService 'applicationTaskExecutor'
2021-03-04 10:44:40.422 [main] INFO  o.a.d.c.s.b.f.a.ReferenceAnnotationBeanPostProcessor -class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!
2021-03-04 10:44:40.422 [main] INFO  c.a.n.s.c.a.c.NacosValueAnnotationBeanPostProcessor -class com.alibaba.nacos.spring.context.annotation.config.NacosValueAnnotationBeanPostProcessor was destroying!
2021-03-04 10:44:40.422 [main] INFO  c.a.n.s.b.f.a.AnnotationNacosInjectedBeanPostProcessor -class com.alibaba.nacos.spring.beans.factory.annotation.AnnotationNacosInjectedBeanPostProcessor was destroying!
2021-03-04 10:44:40.429 [main] INFO  org.apache.catalina.core.StandardService -Stopping service [Tomcat]
2021-03-04 10:44:40.446 [main] INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener -

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-03-04 10:44:40.457 [main] ERROR org.springframework.boot.SpringApplication -Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shardingSphereDataSource' defined in class path resource [org/apache/shardingsphere/spring/boot/SpringBootConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker': Invocation of init method failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Cannot subclass final class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
    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:143)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
    at com.htmj.AssetOrderApplication.main(AssetOrderApplication.java:22)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker': Invocation of init method failed; nested exception is org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Cannot subclass final class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:227)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1155)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:416)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:349)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:342)
    at org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerPostProcessor.postProcessAfterInitialization(DataSourceInitializerPostProcessor.java:52)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:431)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
    ... 16 common frames omitted
Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Cannot subclass final class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource
    at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:208)
    at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:471)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:350)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.getEarlyBeanReference(AbstractAutoProxyCreator.java:240)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getEarlyBeanReference(AbstractAutowireCapableBeanFactory.java:965)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$doCreateBean$1(AbstractAutowireCapableBeanFactory.java:588)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:184)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:164)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.getIfUnique(DefaultListableBeanFactory.java:1942)
    at org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker.getDataSourceInitializer(DataSourceInitializerInvoker.java:98)
    at org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker.afterPropertiesSet(DataSourceInitializerInvoker.java:61)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
    ... 30 common frames omitted
Caused by: java.lang.IllegalArgumentException: Cannot subclass final class org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource
    at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:657)
    at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
    at org.springframework.cglib.core.ClassLoaderAwareGeneratorStrategy.generate(ClassLoaderAwareGeneratorStrategy.java:57)
    at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:358)
    at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:582)
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:110)
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:108)
    at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
    at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:134)
    at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:319)
    at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:569)
    at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:416)
    at org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:57)
    at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:205)
    ... 47 common frames omitted
yu199195 commented 3 years ago
  1. can you see this : https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter/
  1. pls format you yaml file.
djvip001 commented 3 years ago

@yu199195 ok, I just want to replica query,but the problem remains .i don't know if config error

yu199195 commented 3 years ago

can you add this is you pom.xml

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
    <version>${shardingsphere.version}</version>
</dependency>
  1. you pom.xml add other datasource starter?

  2. try remove this

    aop:
    proxy-target-class: true
    allow-bean-definition-overriding: true
djvip001 commented 3 years ago

i remove aop, the problem remains

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://maven.apache.org/POM/4.0.0"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.htmj</groupId>
    <artifactId>jdt</artifactId>
    <version>2.1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>jdt</name>
    <description>父项目:负责各模块版本控制</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.0.RELEASE</version>
        <relativePath/>
    </parent>

    <properties>
        <project.jdk.version>1.8</project.jdk.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!--上传的Docker镜像前缀,此前缀一定要和Harbor中的项目名称一致,表示打包后的Docker镜像会上传到Harbor的哪个项目中-->
        <docker.registry.name>jdt_project</docker.registry.name>
        <docker.maven.plugin.version>1.4.13</docker.maven.plugin.version>
        <!-- 第三方jar版本控制 -->

        <spring.bom.version>5.2.2.RELEASE</spring.bom.version>
        <spring.version>2.3.0.RELEASE</spring.version>
        <nacos.version>0.2.7</nacos.version>
        <netty.version>4.1.32.Final</netty.version>
        <jdom.version>2.0.2</jdom.version>
        <jsoup.version>1.9.2</jsoup.version>
        <commons.io>2.6</commons.io>
        <commons.pool2>2.6.0</commons.pool2>
        <commons.logging>1.2</commons.logging>
        <commons.codec>1.11</commons.codec>
        <commons.lang3>3.8.1</commons.lang3>
        <fastjson.version>1.2.70</fastjson.version>
        <swagger.version>2.9.2</swagger.version>

        <httpclient.version>4.5.6</httpclient.version>
        <aliyun.sdk.core.version>3.2.8</aliyun.sdk.core.version>
        <aliyun.sdk.dysmsapi.version>1.1.0</aliyun.sdk.dysmsapi.version>
        <alipay.version>4.9.13.ALL</alipay.version>
        <qiniu.version>7.2.14</qiniu.version>
        <dubbo.version>2.7.7</dubbo.version>
        <seate.version>1.4.0</seate.version>

    </properties>

    <!-- 子模块 -->
    <modules>
        <module>jdt_constant</module>
        <module>jdt_utils</module>
        <module>jdt_entity</module>
        <module>service-assetOrder</module>
        <module>jdt_controller</module>
        <module>jdt_api</module>
        <module>service-tbk</module>
        <module>service-userInfo</module>
        <module>service-platConfig</module>
        <module>service-store</module>
        <module>service-orderInfo</module>
        <module>service-timedTask</module>
    </modules>

    <!-- 管理依赖版本 -->
    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>${spring.bom.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- spring -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-validation</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-amqp</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>nacos-config-spring-boot-starter</artifactId>
                <version>${nacos.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>${dubbo.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <!-- commons -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons.io}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>${commons.pool2}</version>
            </dependency>

            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons.logging}</version>
            </dependency>

            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons.codec}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons.lang3}</version>
            </dependency>

            <!-- mysql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.20</version>
                <scope>runtime</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.4.2</version>
            </dependency>

            <!-- mybatis plus 逆向生成 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>3.4.1</version>
            </dependency>

            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.3.0</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.shardingsphere</groupId>
                <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
                <version>5.0.0-alpha</version>
            </dependency>

            <dependency>
                <groupId>org.apache.shardingsphere</groupId>
                <artifactId>shardingsphere-transaction-base-seata-at</artifactId>
                <version>5.0.0-alpha</version>
            </dependency>

            <dependency>
                <groupId>io.seata</groupId>
                <artifactId>seata-spring-boot-starter</artifactId>
                <version>${seate.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.alibaba</groupId>
                        <artifactId>druid</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>

            <!--swagger2 -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${swagger.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.swagger</groupId>
                        <artifactId>swagger-models</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.swagger</groupId>
                        <artifactId>swagger-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-models</artifactId>
                <version>1.5.24</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-bean-validators</artifactId>
                <version>${swagger.version}</version>
            </dependency>

            <!-- httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>

            <!-- 阿里云 -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-core</artifactId>
                <version>${aliyun.sdk.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
                <version>${aliyun.sdk.dysmsapi.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sdk</groupId>
                <artifactId>alipay-sdk-java</artifactId>
                <version>${alipay.version}</version>
            </dependency>

            <!-- 七牛云 -->
            <dependency>
                <groupId>com.qiniu</groupId>
                <artifactId>qiniu-java-sdk</artifactId>
                <version>${qiniu.version}</version>
            </dependency>
            <!-- jdom -->
            <dependency>
                <groupId>org.jdom</groupId>
                <artifactId>jdom</artifactId>
                <version>${jdom.version}</version>
            </dependency>

            <!-- jsoup -->
            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>${jsoup.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>5.2.1.RELEASE</version>
            </dependency>

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.10</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>cn.jpush.api</groupId>
                <artifactId>jpush-client</artifactId>
                <version>3.4.7</version>
            </dependency>

            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-prometheus</artifactId>
                <version>1.5.2</version>
            </dependency>

            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-pay</artifactId>
                <version>4.0.0</version>
            </dependency>

        </dependencies>

    </dependencyManagement>

    <repositories>

        <repository>
            <id>maven-ali</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
                <checksumPolicy>fail</checksumPolicy>
            </snapshots>
        </repository>

    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://maven.aliyun.com/repository/apache-snapshots</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M2</version>
                    <configuration>
                        <skipTests>true</skipTests> <!--默认关掉单元测试 -->
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>${docker.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>default</id>
                            <goals>
                                <!--如果package时不想用docker打包,就注释掉这个goal-->
                                <!--                                <goal>build</goal>-->
                                <!--                                <goal>push</goal>-->
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <contextDirectory>${project.basedir}</contextDirectory>
                        <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
                        <repository>${docker.registry.name}/${project.artifactId}</repository>
                        <buildArgs>
                            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                        </buildArgs>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>

    </build>

    <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <env>dev</env>
            </properties>
        </profile>
        <profile>
            <id>pro</id>
            <properties>
                <env>pro</env>
            </properties>
        </profile>

    </profiles>

</project>
yu199195 commented 3 years ago

try remove this, maybe you mybatis plus was a conflict

 aop:
   allow-bean-definition-overriding: true
djvip001 commented 3 years ago

@yu199195 remove aop no effect , if mybatis plus conflict, is there any temporary solution

fanshanchao commented 3 years ago

我也出现了这个问题,有解决么

wangkang09 commented 3 years ago

i meet this prob too. because some where used @EnableTransactionManagement(proxyTargetClass = true) or @EnableAspectJAutoProxy(proxyTargetClass = true). i remove the proxyTargetClass attr,then it worded

wangkang09 commented 3 years ago

and yml must add spring.aop.proxy-target-class: false,otherwise the AopAutoConfiguration will change the proxyTargetClass value to true

ymfffff commented 3 years ago

我也出现了这个问题,有解决么

wtjperi2003 commented 3 years ago

我也遇到了,有解决吗

djvip001 commented 3 years ago

@yu199195 @wangkang09 These configurations have been checked, but the error still exists. debug show error message below here picture image

image

wtjperi2003 commented 3 years ago

use shardingsphere and seata will produce this problem. My pom like this:

 <dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
    <version>5.0.0-RC1-SNAPSHOT</version>
</dependency>

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>shardingsphere-transaction-base-seata-at</artifactId>
    <version>5.0.0-RC1-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>

help~~~~

djvip001 commented 3 years ago

add seata.use-jdk-proxy: true

majiajue commented 2 years ago

add seata.use-jdk-proxy: true

tks

githust66 commented 1 year ago

add seata.use-jdk-proxy: true

After adding this, the startup succeeded, but the normal insertion statement reported an error: uncategorized SQLException; SQL state [null]; error code [0]; java.lang.NullPointerException; nested exception is java.sql.SQLException:

yanchain commented 1 year ago

add seata.use-jdk-proxy: true

niu bbbbbb