我有一个从 Windows 上的 perl 脚本执行的 Java 应用程序。 perl 脚本从另一个应用程序调用并提供 XML 消息并期望 XML 响应。高层架构(餐巾纸样式)如下:
--------------- --------------- ------------
- Windows App - XML --> - perl script - STDOUT --> - Java App -
--------------- XML <-- --------------- STDIN <-- ------------
我可以控制 perl 脚本和 Java 应用程序。我想在处理 XML 命令和构建 XML 响应的同时保持 Java 应用程序运行。我正在考虑使用 procrun并可能通过套接字设置进程间通信。在开始讨论之前,我想知道修改 Java 应用程序以在像 Tomcat 这样的 Web 服务器上运行在这种情况下是否过分或合适?
最佳答案
听起来有些矫枉过正,因为您不需要(或者至少您没有说明为什么 java 应用程序应该在这种类型的服务器上运行的任何原因)。
无论如何,它在技术上应该是可行的,如果您需要高性能、分布式架构,或者想在其他一些应用程序之间共享 java 应用程序(就好像它是一个网络服务),它会有一些好处。
您还应该考虑到您的 Java 应用程序将在多个线程中执行,因此任何共享数据(如单例或静态变量)可能需要进行调整以实现可重入。根据您编写应用程序的方式,这可能需要很长时间。
关于java - Tomcat、Jetty 或其他网络服务器以将 Java 应用程序作为服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974947/