opentracing-contrib / opentracing-contrib/java-spring-cloud
NoClassDefFoundError: org/springframework/cloud/openfeign/ribbon/LoadBalancerFeignClient when using spring-cloud-dependencies:2020.0.0
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 399
- Forks
- 143
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 22
Description
Using implementation "io.opentracing.contrib:opentracing-spring-jaeger-cloud-starter:3.2.2" I upgraded to the new mavenBom "org.springframework.cloud:spring-cloud-dependencies:2020.0.0"
spring-cloud 'Hoxton.SR9' worked correctly
Since then I get the following error on startup.
It seems ribbon was removed from spring cloud in 2020 but is required by jaeger (but not included) with spring-jaeger
Removing spring-jaeger and my application works correctly with spring-cloud 2020
It looks like simply updating the cloud version in java-spring-cloud is not so easy, is a migration planned?
Caused by:
java.lang.NoClassDefFoundError: org/springframework/cloud/openfeign/ribbon/LoadBalancerFeignClient
at io.opentracing.contrib.spring.cloud.feign.TracedFeignBeanFactory.from(TracedFeignBeanFactory.java:40)
at io.opentracing.contrib.spring.cloud.feign.TraceFeignContext.addTracingClient(TraceFeignContext.java:64)
at io.opentracing.contrib.spring.cloud.feign.TraceFeignContext.getInstance(TraceFeignContext.java:46)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.get(FeignClientFactoryBean.java:272)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.feign(FeignClientFactoryBean.java:99)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getTarget(FeignClientFactoryBean.java:325)
at org.springframework.cloud.openfeign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:315)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:169)
... 149 more
a
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with io.opentracing.contrib.spring.cloud.feign.TracedFeignBeanFactory.from and TraceFeignContext, where the stack trace reaches the missing LoadBalancerFeignClient class. Compare the Spring Cloud Hoxton.SR9 and 2020.0.0 dependency setups, then reproduce startup with opentracing-spring-jaeger-cloud-starter:3.2.2. Done means the Jaeger integration works with Spring Cloud 2020.0.0 or the supported migration path is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100