dschulten edited a comment on pull request #5332:
URL: https://github.com/apache/camel/pull/5332#issuecomment-821819464


   Please review the reworked feature, check is green now.
   
   I have changed the `ServiceFilter` implementation so that it takes the 
current exchange, breaking existing `ServiceFilter` implementations as 
suggested.
   
   `RibbonServiceLoadBalancer` uses a Netflix `ZoneAwareLoadBalancer` which has 
no concept of a current exchange, so it can't pass the current exchange into 
`ServiceFilter`. I now pass a `DefaultExchange` to the server filter in 
`RibbonServerList`. I had to add com.netflix.servo:servo-core:0.10.1 as a 
provided dependency and the servo version to parent/pom properties because I 
got the following error (servo-core is only a runtime dependency of 
com.netflix.ribbon:ribbon-loadbalancer, but for some reason becomes required at 
compile time once you add a `DefaultExchange` to the `RibbonServerList`):
   
   ```
   Error:  Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) 
on project camel-ribbon: Compilation failure: Compilation failure: 
   Error:  
/home/runner/work/camel/camel/components/camel-ribbon/src/main/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancer.java:[47,28]
 error: cannot find symbol
   Error:    symbol:   class DefaultCamelContext
   Error:    location: package org.apache.camel.impl
   Error:    reason: class file for 
com.netflix.servo.annotations.DataSourceType not found
   Error:  warning: unknown enum constant DataSourceType.GAUGE
   Error:  warning: unknown enum constant DataSourceType.GAUGE
   Error:  warning: unknown enum constant DataSourceType.GAUGE
   Error:  warning: unknown enum constant DataSourceType.INFORMATIONAL
   Error:  warning: unknown enum constant DataSourceType.INFORMATIONAL
   Error:  
/home/runner/work/camel/camel/components/camel-ribbon/src/main/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancer.java:[213,57]
 error: cannot find symbol
   Error:    symbol:   class DefaultCamelContext
   Error:    location: class RibbonServerList
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to