java - 没有 Spring 的 Java 应用程序上的 Eureka Server
问题描述
我有 java 应用程序(没有 Spring 或 Spring Boot),其中服务器通过调用此方法启动:
public void startServer() {
com.sun.net.httpserver.HttpServer server = JdkHttpServerFactory.createHttpServer(address, resourceConfig, false);
logger.info("HTTP: Start Http-Server. Adress: %s", address);
server.start();
}
我希望这个应用程序充当Eureka Server
.
Eureka Clients
将是 Spring 服务,因此我可以配置它们。
我看过很多教程如何使用 Spring 应用程序设置 Eureka Server,但我不知道如何使用非 Spring 应用程序实现它?
我是否必须在端点下手动添加到 Eureka 服务器? https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
解决方案
Eureka Server 在 Web 应用程序中实现为 Jersey REST 端点。它可以作为 WAR 部署在任何 servlet 容器上:Tomcat、JBoss、Jetty 等。
您可以从https://github.com/Netflix/eureka/eureka-server的代码构建 WAR 。
但是您使用的 Java HTTP Server 不支持 servlet API,因此您不能只向其中添加 WAR。
- 选项 1:在独立的 Tomcat/Jetty/... 上将其作为单独的进程运行
- 选项 2:在主类中添加嵌入式 Tomcat 或 Jetty(就像 Spring Boot 一样)。
- 选项 3:尝试弄清楚如何在您的 HTTP 服务器中映射 Jersey REST 端点?
推荐阅读
- java - 在Java中的字符串数组中随机播放特定数量的字符串
- java - Java 存储来自扫描仪的输入
- python-3.x - ImageIO 中的质量损失
- php - 灯箱和动态 PDF
- python - 在图形 python 应用程序中制作 Cozmo 表达式的方法是什么?
- javascript - 通过 POST 方法使用 fetch 添加用户
- ionic-framework - 白屏在ionic 3中显示很长时间
- spring-security - SAML 配置
- r - R: ggplot2 let the characters of geom_text exactly cover one X unit
- mysql - 排序以具有不连续的列值