Jetty:嵌入式使用还是非嵌入式使用?

48

嵌入式Jetty相对于在Jetty中部署Web应用程序的好处是什么?如果您计划部署多个Web应用程序,您应该严格坚持为每个Web应用程序部署WAR文件(而不是编写调用每个Web应用程序的嵌入式服务器)吗?


5
我想保留嵌入式标签在这里,因为人们会搜索“jetty embedded”。 - Pascal Thivent
嵌入式标签是用于运行在设备上的软件,这个问题不适用于此。 - starblue
8
谁说“嵌入式”仅仅是指在设备上运行的软件?标签是用于集合,集合可以覆盖多个领域(例如,“编译器”仅适用于像javac这样的编译器吗?当然不是)。因此,如果您想限制事物,请添加更多约束条件以获取交集。而且,“嵌入式”一词在Java世界中用于可嵌入容器,例如Jetty、Jboss和GlassFish(正如Google明确展示的那样,例如http://www.google.com/search?q=jetty+embedded),因为EJB3.1具有“嵌入式API”,所以我希望能够查询jetty+embedded、glassfish+embedded、ejb+embedded等相关内容。 - Pascal Thivent
3个回答

24

如果目标是创建一个独立的应用程序,其中Jetty只是其中的一个组件(例如在OSGi容器中),我会使用Jetty嵌入式。如果您只想部署一些WAR文件,则默认的Jetty安装似乎更可取。

我认为选择并不取决于是否计划部署多个Web应用程序。当您嵌入Jetty时,您将不得不自己编写代码。


然而,什么情况下使用Jetty Web服务器而不是完整的Tomcat Web服务器? - Franklin
5
Jetty和Tomcat在大小和功能上可以相互比较。 - Thorbjørn Ravn Andersen

18

嵌入Jetty在我熟悉的两种情况下非常方便:

  1. JNI。通过嵌入Jetty,更容易确保您已经将正确的内容放置到正确的类加载器中。

  2. 开发。在eclipse中启动嵌入式Jetty比使用eclipse Web工具进行部署和调试器附加要简单得多。


2
不仅更容易,而且速度也更快!! - Jay

9
请查看 Winstone Servlet 容器,它允许将单个 WAR 文件作为可执行的 JAR 文件进行分发,这也是 Hudson 所使用的方式。 Winstone

Winstone自那时起已被Jenkins(原名Hudson)项目克隆,并重新包装Jetty。http://jenkins-ci.361315.n4.nabble.com/Winstone-is-now-powered-by-Jetty-td4678478.html - Thorbjørn Ravn Andersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接