diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml
index 11dd9f3dae..b175558703 100644
--- a/spring-cloud-netflix-dependencies/pom.xml
+++ b/spring-cloud-netflix-dependencies/pom.xml
@@ -67,6 +67,10 @@
com.google.code.findbugs
annotations
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+
diff --git a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java
index 1dcb5903a5..6e4b1e7680 100644
--- a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java
+++ b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java
@@ -64,7 +64,7 @@ public TlsProperties tlsProperties() {
@Bean
@ConditionalOnClass(name = "org.springframework.web.client.RestTemplate")
- @ConditionalOnMissingClass("com.sun.jersey.api.client.filter.ClientFilter")
+ @ConditionalOnMissingClass("jakarta.ws.rs.client.ClientRequestFilter")
@ConditionalOnMissingBean(value = { AbstractDiscoveryClientOptionalArgs.class }, search = SearchStrategy.CURRENT)
@ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled", matchIfMissing = true,
havingValue = "false")
@@ -80,7 +80,7 @@ public RestTemplateDiscoveryClientOptionalArgs restTemplateDiscoveryClientOption
@Bean
@ConditionalOnClass(name = "org.springframework.web.client.RestTemplate")
- @ConditionalOnMissingClass("com.sun.jersey.api.client.filter.ClientFilter")
+ @ConditionalOnMissingClass("jakarta.ws.rs.client.ClientRequestFilter")
@ConditionalOnMissingBean(value = { TransportClientFactories.class }, search = SearchStrategy.CURRENT)
@ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled", matchIfMissing = true,
havingValue = "false")
@@ -118,7 +118,7 @@ static class DiscoveryClientOptionalArgsTlsConfiguration {
}
- @ConditionalOnMissingClass("com.sun.jersey.api.client.filter.ClientFilter")
+ @ConditionalOnMissingClass("jakarta.ws.rs.client.ClientRequestFilter")
@ConditionalOnClass(name = "org.springframework.web.reactive.function.client.WebClient")
@ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled", havingValue = "true")
protected static class WebClientConfiguration {
@@ -149,7 +149,7 @@ public WebClientTransportClientFactories webClientTransportClientFactories(
}
@Configuration
- @ConditionalOnMissingClass({ "com.sun.jersey.api.client.filter.ClientFilter",
+ @ConditionalOnMissingClass({ "jakarta.ws.rs.client.ClientRequestFilter",
"org.springframework.web.reactive.function.client.WebClient" })
@ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled", havingValue = "true")
protected static class WebClientNotFoundConfiguration {
diff --git a/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java b/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java
index 6aed5e520d..ec8f135dbe 100644
--- a/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java
+++ b/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java
@@ -28,8 +28,10 @@
import java.util.regex.Pattern;
import com.netflix.appinfo.ApplicationInfoManager;
+import com.netflix.discovery.AbstractDiscoveryClientOptionalArgs;
import com.netflix.discovery.EurekaClient;
import com.netflix.discovery.EurekaClientConfig;
+import com.netflix.discovery.Jersey3DiscoveryClientOptionalArgs;
import com.netflix.discovery.converters.EurekaJacksonCodec;
import com.netflix.discovery.converters.wrappers.CodecWrapper;
import com.netflix.discovery.converters.wrappers.CodecWrappers;
@@ -192,10 +194,17 @@ public Jersey3TransportClientFactories jersey3TransportClientFactories() {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Bean
+ @ConditionalOnMissingBean(EurekaServerHttpClientFactory.class)
public Jersey3EurekaServerHttpClientFactory jersey3EurekaServerHttpClientFactory() {
return new Jersey3EurekaServerHttpClientFactory();
}
+ @Bean
+ @ConditionalOnMissingBean(AbstractDiscoveryClientOptionalArgs.class)
+ public Jersey3DiscoveryClientOptionalArgs jersey3DiscoveryClientOptionalArgs() {
+ return new Jersey3DiscoveryClientOptionalArgs();
+ }
+
@Bean
public PeerAwareInstanceRegistry peerAwareInstanceRegistry(ServerCodecs serverCodecs,
EurekaServerHttpClientFactory eurekaServerHttpClientFactory) {
diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java
index c54ce93b13..3758dc69bc 100644
--- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java
+++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationTests.java
@@ -44,7 +44,7 @@
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
@SpringBootTest(classes = Application.class, webEnvironment = RANDOM_PORT, properties = { "spring.jmx.enabled=true",
- "management.security.enabled=false", "management.endpoints.web.exposure.include=*" })
+ "management.security.enabled=false", "management.endpoints.web.exposure.include=*", "debug=true" })
class ApplicationTests {
private static final String BASE_PATH = new WebEndpointProperties().getBasePath();