我目前正在寻找一个解决方案来编写一个JSF应用程序内的桌面应用程序.我想我可以用途:
- 启动主功能
- 启动SWING应用程序
- 启动JAVA EE应用程序服务器
- 启动数据库(例如H2数据库)
我在Tomcat中找到了以下解决方案:https://www.beyondjava.net/how-to-wrap-bootsfaces-or-jsf-in-general-as-a-native-desktop-application
这正是我想要的。唯一的问题是,Tomcat需要大约20秒来启动。除了SWING Gui中的Web应用程序之外,是否还有其他应用程序服务器可以像这样集成到Main类中?
多谢
1条答案
按热度按时间ryevplcw1#
一般来说,将成熟的JavaEE应用程序放在桌面应用程序中是个坏主意,因为只有一个用户在本地计算机上工作,而JavaEE平台的设计目标是在并发环境中处理来自Internet上不同客户端的多个并行请求,JavaEE平台内部实现了大量的功能和折衷来支持这一点。使用它在本地计算机上为单个用户提供服务就像用显微镜敲钉子一样。
这也是您的目标(桌面应用程序的快速启动)和JavaEE应用程序的折衷(启动时间并不重要,因为很少会重新启动)之间的明显矛盾。
同样值得一提的是,Tomcat不是JavaEE服务器,因为它不提供完整的JavaEE实现。尽管您可以通过在应用程序本身内部提供JSF实现,在Tomcat上运行JSF应用程序。
如果您真的想继续,可以考虑一下jetty,它是Tomcat的一种更快的替代方法。