【问题标题】:Spring with Jersey + Jetty challenge春天与泽西岛 + 码头挑战
【发布时间】:2012-05-08 15:12:33
【问题描述】:

我是使用 Spring 进行依赖注入的新手,面临一个看似具有挑战性的场景。

我的应用程序通过普通的旧套接字从遗留系统接收数据,对数据执行有趣的事情 (tm),然后使用嵌入式 Jetty 实例通过 HTML5 Web 套接字输出真正有趣的结果 (tm)。此外,Jetty 服务器托管一个 Jersey servlet,它为所有有趣的东西 (tm) 提供一个 RESTful 接口。

我想使用 Spring 将共享 DAO 和应用程序服务对象注入到遗留端和我的 Jersey 资源中。这需要在遗留组件和 Jersey 之间共享 ApplicationContext。似乎我需要创建应用程序上下文,将其连接到我的遗留组件,然后在配置嵌入式 Jetty 服务器(我目前正在以编程方式进行)时将应用程序上下文传递给 Jersey ServletContext。

不幸的是,我不清楚如何将现有的应用程序上下文传递到 Jersey ServletContext。可以做到吗?有更好的方法吗?

我想指出,这与我在 SO 上发现的其他 Jersey + Jetty + Spring 问题不同,它们不需要在 Jersey 之外共享应用程序上下文。

【问题讨论】:

    标签: spring dependency-injection jetty jersey


    【解决方案1】:

    我假设您启动 Jetty 的代码类似于:

    Server server = new Server(...);
    server.setHandler(new WebAppContext(...));
    

    您可以从WebAppContext 获取ServletContext 并在其上设置SpringContext:

    WebAppContext wac = new WebAppContext(...);
    ServletContext sc = wac.getServletContext();
    sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, springContext);
    

    【讨论】:

      猜你喜欢
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 2015-06-27
      • 2017-05-13
      • 2013-12-21
      • 1970-01-01
      相关资源
      最近更新 更多