Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何升级springboot版本 #121

Open
QwQyewen opened this issue Apr 30, 2020 · 5 comments
Open

如何升级springboot版本 #121

QwQyewen opened this issue Apr 30, 2020 · 5 comments

Comments

@QwQyewen
Copy link

使用spring boot2.0.4没有问题,升级到2.2.6就报错
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-04-30 17:02:34,917 ERROR [main] o.s.b.SpringApplication - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.bytesoft.bytejta.supports.spring.TransactionDebuggablePostProcessor#0' defined in class path resource [bytetcc-supports-jta.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.AbstractMethodError: Method org/bytesoft/bytetcc/supports/springboot/config/SpringBootSecondaryConfiguration.annotationDrivenTransactionManager()Lorg/springframework/transaction/TransactionManager; is abstract
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:512)
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:207)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:240)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:722)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:535)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at com.bytesvc.SpringBootProviderBootstrap.main(SpringBootProviderBootstrap.java:24)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.AbstractMethodError: Method org/bytesoft/bytetcc/supports/springboot/config/SpringBootSecondaryConfiguration.annotationDrivenTransactionManager()Lorg/springframework/transaction/TransactionManager; is abstract
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
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.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:409)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
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:207)
at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:91)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:109)
at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.findCandidateAdvisors(AnnotationAwareAspectJAutoProxyCreator.java:92)
at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:101)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:251)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:1141)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:1114)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:506)
... 12 common frames omitted
Caused by: java.lang.AbstractMethodError: Method org/bytesoft/bytetcc/supports/springboot/config/SpringBootSecondaryConfiguration.annotationDrivenTransactionManager()Lorg/springframework/transaction/TransactionManager; is abstract
at org.bytesoft.bytetcc.supports.springboot.config.SpringBootSecondaryConfiguration.annotationDrivenTransactionManager(SpringBootSecondaryConfiguration.java)
at org.springframework.transaction.annotation.AbstractTransactionManagementConfiguration.setConfigurers(AbstractTransactionManagementConfiguration.java:76)
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.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:755)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 36 common frames omitted

@slinpq
Copy link

slinpq commented Jun 13, 2020

0.5.3之前的版本依赖的是springboot 2.0,springboot 2.2下的TransactionManagementConfigurer这个类的方法返回的类型与springboot 2.0下的不一样。所以才导致了这个错误。
可以将0.5.3下的包在springboot 2.2下编译,然后项目以来编译好的jar。

@cloerfeng
Copy link

我用的是0.5.9的版本也还是会出现这个问题,我用的spring boot版本是2.2.7.RELEASE,我用spring boot 2.2.7 自己编译了一个jar还是不行呀 0.0
还有其他办法么
org.bytesoft
bytetcc-supports-springcloud
0.5.9

@slinpq
Copy link

slinpq commented Sep 17, 2020

我用的是0.5.9的版本也还是会出现这个问题,我用的spring boot版本是2.2.7.RELEASE,我用spring boot 2.2.7 自己编译了一个jar还是不行呀 0.0
还有其他办法么
org.bytesoft
bytetcc-supports-springcloud
0.5.9

把ByteTCC clone下来在ByteTCC maven 的pom里依赖的springboot替换成2.2.0然后编译一下,就行了
下面是我的改的pom配置,你可以参考下

<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">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.bytesoft</groupId>
	<artifactId>bytetcc-parent</artifactId>
	<version>0.5.3</version>
	<packaging>pom</packaging>
	<name>bytetcc-parent</name>
	<description>ByteTCC is a transaction manager based on the TCC(Try/Confirm/Cancel) mechanism.</description>
	<url>http://www.bytesoft.org</url>

	<licenses>
		<license>
			<name>The GNU Lesser General Public License, Version 3.0</name>
			<url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>liuyangming</name>
			<email>[email protected]</email>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:[email protected]:liuyangming/ByteTCC.git</connection>
		<developerConnection>scm:git:[email protected]:liuyangming/ByteTCC.git</developerConnection>
		<url>[email protected]:liuyangming/ByteTCC.git</url>
	</scm>

	<issueManagement>
		<system>Github Issue</system>
		<url>https://github.com/liuyangming/ByteTCC/issues</url>
	</issueManagement>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>2.2.1</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.9.1</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.5</version>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <distributionManagement>
                <snapshotRepository>
                    <id>oss</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
                </snapshotRepository>
                <repository>
                    <id>oss</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
        </profile>
    </profiles>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencyManagement>
		<dependencies>
			<!-- javax -->
			<dependency>
				<groupId>javax.transaction</groupId>
				<artifactId>javax.transaction-api</artifactId>
				<version>1.2</version>
			</dependency>
			<dependency>
				<groupId>javax.jms</groupId>
				<artifactId>javax.jms-api</artifactId>
				<version>2.0</version>
			</dependency>
			<dependency>
				<groupId>javax.resource</groupId>
				<artifactId>javax.resource-api</artifactId>
				<version>1.7</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>3.1.0</version>
			</dependency>
			<dependency>
				<groupId>javax.inject</groupId>
				<artifactId>javax.inject</artifactId>
				<version>1</version>
			</dependency>
			<dependency>
				<groupId>javax.annotation</groupId>
				<artifactId>javax.annotation-api</artifactId>
				<version>1.2</version>
			</dependency>

			<!-- spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>5.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-tx</artifactId>
				<version>5.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jdbc</artifactId>
				<version>5.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aop</artifactId>
				<version>5.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-webmvc</artifactId>
				<version>5.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.retry</groupId>
				<artifactId>spring-retry</artifactId>
				<version>1.2.2.RELEASE</version>
			</dependency>

			<!-- spring-boot -->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot</artifactId>
				<version>2.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-autoconfigure</artifactId>
				<version>2.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-web</artifactId>
				<version>2.2.0.RELEASE</version>
			</dependency>

			<!-- spring-cloud -->
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
				<version>2.2.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-netflix-eureka-client</artifactId>
				<version>2.0.1.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
				<version>2.0.2.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-starter-openfeign</artifactId>
				<version>2.0.2.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
				<version>2.0.2.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-netflix-core</artifactId>
				<version>2.0.1.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-openfeign-core</artifactId>
				<version>2.0.1.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-commons</artifactId>
				<version>2.0.1.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-config-client</artifactId>
				<version>2.0.1.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-zookeeper-core</artifactId>
				<version>2.0.0.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-zookeeper-discovery</artifactId>
				<version>2.0.0.RELEASE</version>
			</dependency>
			<dependency>
			    <groupId>com.netflix.ribbon</groupId>
			    <artifactId>ribbon-eureka</artifactId>
			    <version>2.3.0</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-consul-discovery</artifactId>
				<version>2.0.1.RELEASE</version>
			</dependency>

			<!-- bytejta -->
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytejta-core</artifactId>
				<version>0.5.0-BETA5</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytejta-supports</artifactId>
				<version>0.5.0-BETA5</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytejta-supports-springcloud</artifactId>
				<version>0.5.0-BETA5</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytejta-supports-dubbo</artifactId>
				<version>0.5.0-BETA5</version>
			</dependency>

			<!-- bytetcc -->
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytetcc-common</artifactId>
				<version>0.5.3</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytetcc-core</artifactId>
				<version>0.5.3</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytetcc-supports</artifactId>
				<version>0.5.3</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytetcc-supports-dubbo</artifactId>
				<version>0.5.3</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytetcc-supports-springcloud</artifactId>
				<version>0.5.3</version>
			</dependency>
			<dependency>
				<groupId>org.bytesoft</groupId>
				<artifactId>bytetcc-supports-springboot</artifactId>
				<version>0.5.3</version>
			</dependency>

			<!-- logger -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.6</version>
			</dependency>

			<!-- dubbo -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>2.6.1</version>
			</dependency>

			<!-- apache-commons -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.4</version>
			</dependency>

			<!-- jackson -->
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>2.9.8</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>2.9.8</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-annotations</artifactId>
				<version>2.9.8</version>
			</dependency>

			<!-- netty -->
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-buffer</artifactId>
				<version>4.1.9.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-codec</artifactId>
				<version>4.1.9.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-codec-http</artifactId>
				<version>4.1.9.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-common</artifactId>
				<version>4.1.9.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-handler</artifactId>
				<version>4.1.9.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-transport</artifactId>
				<version>4.1.9.Final</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-transport-native-epoll</artifactId>
				<version>4.1.9.Final</version>
			</dependency>

			<!-- mongodb -->
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-mongodb</artifactId>
				<version>2.0.9.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.mongodb</groupId>
				<artifactId>mongo-java-driver</artifactId>
				<version>3.8.1</version>
			</dependency>

			<!-- others -->
			<dependency>
				<groupId>aopalliance</groupId>
				<artifactId>aopalliance</artifactId>
				<version>1.0</version>
			</dependency>
			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib</artifactId>
				<version>2.2.2</version>
			</dependency>
			<dependency>
				<groupId>org.ow2.asm</groupId>
				<artifactId>asm</artifactId>
				<version>5.0.4</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjweaver</artifactId>
				<version>1.8.13</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.4</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-framework</artifactId>
				<version>4.0.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-client</artifactId>
				<version>4.0.1</version>
				<exclusions>
					<exclusion>
						<groupId>org.apache.zookeeper</groupId>
						<artifactId>zookeeper</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-recipes</artifactId>
				<version>4.0.1</version>
				<exclusions>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.zookeeper</groupId>
				<artifactId>zookeeper</artifactId>
				<version>3.4.8</version>
			</dependency>

			<dependency>
				<groupId>org.reactivestreams</groupId>
				<artifactId>reactive-streams</artifactId>
				<version>1.0.2</version>
			</dependency>
			<dependency>
				<groupId>io.projectreactor</groupId>
				<artifactId>reactor-core</artifactId>
				<version>3.1.9.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>io.reactivex</groupId>
				<artifactId>rxjava-reactive-streams</artifactId>
				<version>1.2.1</version>
			</dependency>
			<dependency>
				<groupId>io.reactivex.rxjava2</groupId>
				<artifactId>rxjava</artifactId>
				<version>2.2.2</version>
			</dependency>
			<dependency>
				<groupId>com.squareup.okhttp3</groupId>
				<artifactId>okhttp</artifactId>
				<version>3.11.0</version>
			</dependency>

		</dependencies>
	</dependencyManagement>

	<repositories>
	    <repository>
	        <id>spring-milestones</id>
	        <name>Spring Milestones</name>
	        <url>https://repo.spring.io/libs-milestone</url>
	        <snapshots>
	            <enabled>false</enabled>
	        </snapshots>
	    </repository>
	</repositories>

	<modules>
		<module>bytetcc-common</module>
		<module>bytetcc-core</module>
		<module>bytetcc-supports</module>
		<module>bytetcc-supports-springboot</module>
		<module>bytetcc-supports-springcloud</module>
		<module>bytetcc-supports-dubbo</module>
	</modules>

</project>

@cloerfeng
Copy link

经过对比发现不是spring Boot的包,而是spring-tx的包,我现在项目中spring-tx包为5.2.6,对应的TransactionManager是顶级接口,而PlatformTransactionManager extends TransactionManager。
在byteTcc0.5.9中用的spring-tx为5.0.8 PlatformTransactionManager 为顶级接口。
我的解决方法是直接修改了源码类SpringCloudSecondaryConfiguration,将其中的PlatformTransactionManager 全部替换成TransactionManager 然后重新打包

@gujiedmc
Copy link

gujiedmc commented Aug 28, 2021

我使用的SpringBoot版本为2.3.0,ByteTCC版本为0.5.10。 参考 @cloerfeng 的方式进行了修改。

  1. 拷贝SpringBootSecondaryConfiguration的源码到项目中新建一个类,我这里选择的同名,替换PlatformTransactionManager为TransactionManager.
  2. 然后在配置类中通过@Import引入这个新建的类。
  3. 在启动类上排除自动装配类DataSourceTransactionManagerAutoConfiguration,这里是因为有名为transactionManager的同名bean生成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants