【问题标题】:Low overhead Java Web Services container?低开销的 Java Web 服务容器?
【发布时间】:2010-05-15 10:26:21
【问题描述】:

我想提供基于 Java 的 Web 服务,但我不需要成熟的 J2EE 应用程序服务器的功能。我希望它尽快启动,尽管这不是一个硬性要求。 Web 服务将处理多个连接并需要访问 Oracle 数据库,因此它至少需要一个线程池和数据库连接池。稍后我可能想在上面放一个 JSP 接口以提供内部维护接口。

我已经使用 Apache CXF 堆栈查看了 Jetty,但看起来我必须在编写 Web 服务之前进行大量配置 - 这值得吗?它甚至会起作用吗?我是否应该忘记复杂性而直接使用 JBoss/Weblogic/etc 并忍受臃肿和额外的启动时间?

【问题讨论】:

    标签: java web-services jetty jax-ws cxf


    【解决方案1】:

    我会在 Jetty、Tomcat 或 GlassFish v3 上使用 JAX-WS RI(我确实同意这里表达的其他意见,并根据我的实际经验GFv3,GFv3 提供了一个高效的开发环境)。

    请不要使用 Axis 2(我什至不会谈论它的架构和可怕的部署模型和打包地狱,只要看看 JAX-WS RI 2.1 benchmark details)。

    【讨论】:

    • 啊,这听起来令人鼓舞——我可以愉快地使用 JDK 6 中内置的 JAX-WS 而不是“自定义”WS 堆栈?但这是否涵盖 WS-*?
    • @trojanfoe JAX-WS RI 实现了 WS-I Basic Profile 1.1、Simple SOAP Binding Profile 1.0 和 Attachment Profile 1.0。如果您想要端到端的消息级安全性,那么您将需要 Metro 的 WSIT 层(Metro = JAX-WS RI + WSIT)。有关详细信息,请参阅theserverside.com/news/thread.tss?thread_id=44110
    • 所以我正在寻找 Jetty + Metro 来满足我的要求?数据库连接池呢?这是 Jetty 的标准吗?
    • @trojanfoe Jetty 确实支持连接池,请参阅DataSource Examples。但我仍然认为你应该试试 GFv3 ;)
    • 我会先尝试 Jetty + Metro,如果有问题我会尝试 glassfish 3。非常感谢!
    【解决方案2】:

    设置 Tomcat 6 + Axis 2 是 fairly easy。我不建议在您的场景中使用 JBoss/Glassfish/etc - 开销远远超过唯一的好处 - 不涉及额外的设置。

    【讨论】:

    • tomcat 和轴 2 开销低吗?我听说轴 2 至少表现不佳?
    【解决方案3】:

    我使用嵌入式码头来公开一些 jax-ws 网络服务。效果很好,配置只涉及从码头剥离我不需要的东西。

    【讨论】:

    • 所以您使用的是 JDK 6 或其他堆栈中内置的 jax-ws?你剥了什么?
    • jax-ws 2.1.4 但它的大部分组件现在都在 jkd 中是的。我从码头剥离了 jsp 的东西等。
    猜你喜欢
    • 2015-05-04
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    相关资源
    最近更新 更多