gpt4 book ai didi

java - 旧版应用程序可在同一服务器或通过 ws 访问

转载 作者:行者123 更新时间:2023-12-01 23:48:48 25 4
gpt4 key购买 nike

在我们的系统中,我们有一个遗留的独立java应用程序,我们正在尝试将其提供给我们正在开发的新web应用程序,这些应用程序都在服务器(例如Tomcat)中运行为了减轻对该应用程序的请求,我们考虑使用 jndi 将它们直接发送到同一虚拟机,而不是开发 Web 服务接口(interface)。

我想在某些 Web 应用程序上下文中启动此应用程序环境,并使某些 API 可用于其他 Web 应用程序并调用接口(interface)的方法。

当我由于依赖项版本之间的不兼容而遇到更多问题时,如果不将应用程序添加到公共(public)库中,我就无法在 Tomcat 的只读上下文中通过 JNDI 绑定(bind)此对象。也许最好的解决方案是将这些接口(interface)部署为 EJB,因此我将使用 Java EE 服务器而不是 servlet 容器。或者也许我会使用其他一些框架,例如 Camel 或其他框架。

提前致谢,任何建议都会有帮助。

最佳答案

我建议将遗留的 Java 接口(interface)包装在 REST 中。当您将它们公开为 REST API 时,它们将可供任何客户端使用,而不仅仅是 java。此外,您不需要任何应用程序服务器,您只需要一个用于 REST 引用实现的 jar 文件。

从性能角度来看,我知道理论上 JNDI 应该更快,但在现实世界中,只有对于性能非常密集的应用程序,性能差异才会变得显着。

但是,如果性能是您的首要要求,那么请将您的旧接口(interface)包装在 EJB 中。

手动 JNDI/RMI 查找将是最快的,但是这是一个相当大的但是,除非您在网络编程和多线程方面经验丰富,否则我建议您避开它,并使用容器。容器负责处理许多具体细节,您可以专注于实现业务逻辑。

关于java - 旧版应用程序可在同一服务器或通过 ws 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com