【问题标题】:Is it possible to add spring MVC (with embedded Jetty) to a spring integration component是否可以将 spring MVC(带有嵌入式 Jetty)添加到 spring 集成组件中
【发布时间】:2014-09-04 23:41:06
【问题描述】:

我有两个单独工作的示例,现在尝试合并以便我拥有两个功能/入口点。

毫不奇怪,它对要加载的应用程序上下文感到困惑。

我想知道这是否可能,如果有的话,有什么例子吗?

我知道使用 spring boot 是可行的,但目前还不想这样做。

我正在尝试不可能的事情?

【问题讨论】:

    标签: java spring spring-mvc spring-integration


    【解决方案1】:

    “Spring MVC(带有嵌入式 Jetty)”通常表示在其自己的 JVM 中运行的 HTTP 端点(我想您有一个启动 Jetty 的 main 方法)。启动后,您可以将它作为 Spring Integration 中的任何其他 HTTP 端点集成。

    如果您希望它们都在同一个 JVM 中运行,这可能意味着您不想使用 HTTP,因为您可以直接在 @Controllers 或 @Services 上调用方法。

    或者我在这里遗漏了什么......?

    【讨论】:

    • 嗨,Costi,是的,在 mvc 组件中作为“正常”在 main 中启动码头,你是对的,我只想在 @Controller 上调用(简单)方法。另一个集成组件创建 JMS 消息并通过 MessageListener 异步接收响应。问题是我可以将这两个组件组合在同一个 jvm 中吗?
    • 我不明白你为什么需要一个实际的@Controller(更不用说你为什么需要一个嵌入式 Jetty)。为什么这些方法不标记为@ServiceActivators(或任何有意义的)而不是@RequestMappings?
    • 我希望通过 curl 或浏览器(url)访问入口点,因此是 @Controller,因此还嵌入了 Jetty 以使这成为可能,而无需托管在 Web 容器上。我没有使用过ServiceActivitor(对spring来说很新),但我的理解是它需要一个通道。在我的情况下,请求将从外部脚本和这个 http / curl 路由发送到应用程序。
    【解决方案2】:

    我会选择 Spring Boot。 1.1.6 版刚刚发布。我目前还在迁移基于 Spring Boot 的“旧”SI 应用程序。我建议你试试http://start.spring.io。迁移应该不会太难。

    【讨论】:

    • 是的,这很诱人,很高兴知道 spring boot 是否真的“准备好”,我想我会在某个时候转向它,但还不是现在。经验告诉我,如果您承担不起风险,就永远不要迁移到任何版本的 1.X。
    • 嗯,我们目前正在准备一切以将其投入生产。目前我会说是的,因为引导背后的所有组件都已经成熟并且或多或少坚如磐石。我对后面发生的所有自动操作感到最头疼,比如启用安全性,但感觉独自配置它。
    猜你喜欢
    • 2016-02-22
    • 2017-09-20
    • 2011-06-14
    • 2011-08-20
    • 2014-07-12
    • 2023-04-08
    • 1970-01-01
    • 2023-03-09
    • 2014-10-27
    相关资源
    最近更新 更多