我正在寻找在Tomcat上部署Spring的好处,而不是将其放在任何应用服务器容器之外。
我的项目不需要任何web支持。它确实需要事务管理、DB池、JMX、低延迟和更常见的java-ee技术等技术。
那么我为什么要用tomcat呢?如果只是因为有DB池的原因,我可以自己实现它。我正在寻找低延迟的解决方案。
再次,我的项目是一个完全不需要任何网络支持的后端。
那么我在这里错过了什么呢?
发布于 2012-06-18 18:45:54
您所说的“更常见的Java技术”到底是什么意思?
如果它“只是一个后端”,那么前端是什么?应用程序将如何与后端通信?
如果不需要web界面,那么使用web容器就没有优势。
如果您有复杂的事务管理需求,则需要在应用程序服务器(与web容器相对)下更容易设置的消息队列等,因为存在现有的管理/管理界面。所有这些也可以自己设置,但可能会更痛苦--使用Spring可能会在一定程度上减轻这种痛苦。
然而,对“更通用的Java技术”的需求让我对实现一个独立的应用程序感到有点紧张。应用程序容器具有所有的“通用Java技术”,这些技术都是内置的、经过测试的和功能性的。如果您不使用公共Java EE应用程序容器而将各种包组合在一起以提供“公共Java EE技术”,那么只使用应用程序容器可能会更容易,这也为您提供了从各种来源提供对服务的规范化访问的好处。
发布于 2012-06-18 18:00:40
如果您的应用程序不是web应用程序,则可以使用All Known Classes here下列出的任何非web特定的应用程序上下文。然后,您可以从可运行jar中的main方法初始化上下文。
发布于 2012-06-18 19:10:46
如果你不需要web支持,你不需要使用tomcat或任何其他应用服务器。Spring将为您提供所需的大部分功能。对于连接池,有许多选项可用,例如c3p0和apache dbcp。你可以用其中的一个。
你唯一需要担心的就是干净地关闭你的进程。你可以通过实现你自己的关闭钩子来实现。
https://stackoverflow.com/questions/11080464
复制相似问题