我有 2 个使用 Jakarta EE 11 制作的独立 WAR 项目,在 Wildfly 的 8080 和 8081 上运行。 然后我在 Tomcat 的 8761 上运行 Netflix 的 Eureka-Server(Spring Boot 项目)。 我如何注册这些在 Eureka 上运行的 Wildfly 项目。
在 Spring 中很简单,我们只需要在要注册到 Eureka-Server 的项目中添加
spring-cloud-starter-netflix-eureka-client
starter,然后在主类中添加@EnableDiscoveryClient
注解,并在 application.yml 中添加以下内容
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
但是当客户端项目不是 Spring Boot JAR 类型,这里是 WAR 类型时,如何做到这一点。
尝试寻找教程但找不到任何教程,所有教程都演示了如何在 Spring Boot 中做到这一点。
这可能吗?
首先,无论是jar
还是war,Spring的
Eureka Client
与Jakarta EE
应用程序都不可能集成。
如果一些代码也可以使用 hacky,那么我不会建议这样做,因为从长远来看它很难维护。
我猜您有一个使用
JAX-RS/Jersey
开发的 Jakarta EE
应用程序。
如果我假设您有一个使用
JAX-RS/Jersey
开发的 Jakarta EE
应用程序,则可以通过 Spring Boot Jersey Library使用
JAX-RS/Jersey
重写相同的
Spring
应用程序。这将使您的生活更轻松。
您可以使用
spring-boot-starter-jersey
开发基于Spring的JAX-RS/Jersey
独立应用程序(支持jar
/war
类型)并将spring-cloud-starter-netflix-eureka-client
与该应用程序一起使用。
网上有很多带有
spring-boot-starter-jersey
的示例和教程。
看看这是否有帮助。