Repository navigation
Closed
Description
Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.propertySourcesPlaceholderConfigurer
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:183) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:144) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) ~[spring-context-6.1.1.jar:6.1.1]
at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-3.2.0.jar:3.2.0]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) ~[spring-boot-3.2.0.jar:3.2.0]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) ~[spring-boot-3.2.0.jar:3.2.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) ~[spring-boot-3.2.0.jar:3.2.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342) ~[spring-boot-3.2.0.jar:3.2.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331) ~[spring-boot-3.2.0.jar:3.2.0]
at u.s.apigateway.ApiGatewayApplication.main(ApiGatewayApplication.java:30) ~[classes/:na]
Caused by: java.lang.IllegalArgumentException: **Invalid value type for attribute 'factoryBeanObjectType': java.lang.String**
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getTypeForFactoryBeanFromAttributes(FactoryBeanRegistrySupport.java:86) ~[spring-beans-6.1.1.jar:6.1.1]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:838) ~[spring-beans-6.1.1.jar:6.1.1]
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:620) ~[spring-beans-6.1.1.jar:6.1.1]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:573) ~[spring-beans-6.1.1.jar:6.1.1]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:532) ~[spring-beans-6.1.1.jar:6.1.1]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:247) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:240) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:230) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchingBeans(OnBeanCondition.java:183) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:158) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-3.2.0.jar:3.2.0]
... 17 common frames omitted
using following version
openJDK17
spring-cloud.version 2023.0.0
spring boot parent version 3.2.0
feign-reactor-spring-cloud-starter version 4.0.3
NOTE: Application started normally after removing reactive feign from class path
Reacted by Andrzej Ryżko, Szabolcs Rozgonyi, l-g-arutyunov, safecodee, fflandrin-yseop, sangwoon-park, Radosław Nowak, tamielh, Thijs Reus, Harris Gwag and 5 more
Metadata
Metadata
Assignees
Labels
No labels
Activity
ramzes3333 commentedon Dec 11, 2023
Following fix should solve the problem:
fixes PlaytikaOSS#651
zzzzizu123 commentedon Dec 11, 2023
Hey, @ramzes3333
I am using the reactive feign client solution. Are you going to release a version with the fix, or should I use your example as solution in my code.
however, how can I implement your solution in my code?
Thanks ahead.
ramzes3333 commentedon Dec 11, 2023
I think it's best to wait for the authors to release an official package with this fix. For testing purposes, you can clone my fork with this fix, build it, and integrate it into your project.
zzzzizu123 commentedon Dec 17, 2023
Thanks @ramzes3333
I used your solution and it seems to be working.
I encountered another issue that happens according to this: spring-projects/spring-boot#38536
We get run error of finding multiple beans for feignConvrtionService.
The solution should be to modify
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <parameters>true</parameters> </configuration> </plugin>As described here:
https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#core-container:~:text=jndi%2Dlookup%3E.-,Parameter%20Name%20Retention,-LocalVariableTableParameterNameDiscoverer%20has%20been
zzzzizu123 commentedon Dec 17, 2023
Do you have any estimation when the version with the fix will be released?
Thanks, ahead
ramzes3333 commentedon Dec 18, 2023
@zzzzizu123 Unfortunately, I do not have the knowledge of when the version with the fix will be released. I am not the owner of this repository. Just like you, I use this library and want to use it together with Spring Boot in version 3.2 :)
fflandrin-yseop commentedon Jan 5, 2024
We are having the same issue. Using @ramzes3333 fork works great as a temporary fix while waiting for a release with a permanent fix.
Ahoo-Wang commentedon Jan 18, 2024
I waited too long for this feature, so I had to create CoApi - https://github.com/Ahoo-Wang/CoApi
miwurster commentedon Feb 12, 2024
Hey guys, is there a plan to release this fix somehow soon(ish)?
Jardo-51 commentedon Feb 14, 2024
EDIT: this solution doesn't work if you need to use any extended functionality, such as request interceptors
I managed to figure out a workaround to use the solution from @ramzes3333 without having to build my own version of the entire project.
ReactiveFeignClientsRegistrarinto your project. It uses a couple of package-private classes. You have to copy those as well.@EnableReactiveFeignClientsinto your project and modify the@Importannotation to use your custom implementation ofReactiveFeignClientsRegistrarReactiveFeignClientsRegistrarto use your custom implementation of@EnableReactiveFeignClients(from the previous step).FormattingConversionServiceand mark it as@PrimaryAnd that's it. Happy coding :)
tomaszwasik commentedon Feb 19, 2024
Hey guys, is there a plan to release this fix somehow soon(ish)?
sahassakhare commentedon Feb 27, 2024
Hi team, any plans to release spring boot 3.2.x compatible version ?
caosDvlp commentedon Feb 27, 2024
Hi Guys! I'm in the same state as the rest, any plasn to release spring boot 3.2.x compatible version ?
9you commentedon Apr 10, 2024
This solution not working with Load Balancer and Resilience4 :(
kyra-ohare commentedon Apr 16, 2024
Hi
I would also love to know when this will be Spring Boot 3 compatible. Please.
ChiragMoradiya commentedon May 8, 2024
Hi, we also encountered the same issue. This limits us to upgrade spring-boot to 3.1 only. Is there any timeline planned for the fix?
Jardo-51 commentedon May 8, 2024
I have created a fork of @ramzes3333's fix and published a new version to Maven Central, to make it available for everyone.
Just replace the starter dependency in your
pom.xmlwith this, and it should work:If you need any other modules, just replace the groupId with
com.jardoapps.reactivefeignand the version with4.1.0.ChiragMoradiya commentedon May 9, 2024
Thanks @Jardo-51 we will try it for sure.
ramzes3333 commentedon May 10, 2024
I think the project is abandoned. In my project, I replaced Feign Reactive with a pure solution based on WebClient.
Jardo-51 commentedon May 10, 2024
That's the reason why I decided to fork it and publish a new version.
kptfh commentedon Sep 4, 2024
released version 4.1.0 with support of SB3.2
fill free to reopen this ticket in case of any issues