Comments (3)
Thank you.
Have you been able to debug it?
There seems to be a difference between using cglib or JDK proxies.
Why do you plan to use JDK proxies? I think Spring Boot sets the default proxy to cglib.
from resilience4j.
Yes, I've been able to debug the issue, the problem is caused by how the fallback method determines the target when using JDK Proxies, the java Method.invoke
throws the exception because the proxy object used as the target is not of the correct type.
In R4J version 2.0.2, this was not an issue because there were no proxies involved at all.
Based on the spring documentation for version 6.1.3, it mentions that Spring AOP defaults to using standard JDK dynamic proxies for AOP proxies
(https://docs.spring.io/spring-framework/reference/core/aop/introduction-proxies.html) but based on my experience, Spring generally defaults to a CGlib based proxy.
The reason why we use JDK proxies is because we use Spring's WebServiceGatewaySupport to consume soap services and it doesn't work with CGlib proxies, To get the circuitbreakers working on it we had to use JDK proxies.
from resilience4j.
I've make a PR to try solve this problem.
from resilience4j.
Related Issues (20)
- Circuit breaker in DISABLED state sill moving back to HALF_OPEN/OPEN HOT 15
- Not receiving state transition events from CircuitBreaker HOT 3
- Feature Proposal: 'preload' support for Bulkhead, 'check-only' support for CircuitBreaker HOT 4
- CircuitBreaker incompatible with SpringBoot 3.2 + Kotlin suspend functions HOT 1
- Improvement: Make interfaces serializable
- CircuitBreaker not opening after satisfying minimumNumberOfCalls threshold HOT 1
- Feature Request - Include timestamp of 1st failure event in CircuitBreakerOnFailureRateExceededEvent HOT 5
- Query - Is resilience4j resilient to restarts? Is it distributed? HOT 5
- Fix ThreadPoolBulkhead.getAvailableThreadCount method return comment as it's wrong
- ExecuteSuspendFunction Fails as delayMs Unexpectedly Becomes Zero HOT 6
- @CircuitBreaker not working on method inside spring boot service
- CircuitBreakerMetrics performance issue HOT 1
- @CircuitBreaker not working with Kotlin suspend functions HOT 1
- Replace hystrixruntimeexception in resilience4j HOT 1
- Retry not working for resilence 4j HOT 12
- On state transition not working on 1.7.1 HOT 1
- How to resume back-off try at numOfAttempts that want to configure HOT 1
- unsupported by @TimeLimiter return type. CompletionStage expected HOT 3
- How to log state transition of circuitbreaker implemented using resiliency4j spring boot 2 circuitbreaker? HOT 2
- CircuitBreaker not going in half open state in server HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from resilience4j.