Spring 集成在 Rest API 模块中

Spring integration in Rest API module

我有一个使用 apache cxf 开发的休息 API 模块。我希望 spring 集成组件在同一模块中成为 运行。这个特性只是在每个午夜做一次文件轮询,复制到一些目录,并做一些处理。我只需要知道 spring-集成 是否必须 在不同的模块中实现,或者我是否可以在同一个 API 模块中实现。我不希望其余 api 服务调用因 spring 集成过程而中断。

您可以使用相同的模块,因为它不会影响当前的 api 服务调用。由于 Spring 具有调度程序 servlet 条目,它将根据 servlet 映射处理请求 provided.I 已将 CXF servlet 的映射稍微更改为 /services 以处理 api 请求。

web.xml 中的 Dispatcher Servlet 条目。

  <web-app id="Expertwebindia" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>Spring MVC Application</display-name>
        <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
        </servlet-mapping>
        </web-app>

为 Apache CXF 添加以下 servlet 条目以处理 api 调用。

 <servlet>
           <servlet-name>CXFServlet</servlet-name>
           <display-name>CXF Servlet</display-name>
        <servlet-class>
            org.apache.cxf.transport.servlet.CXFServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>

<servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>

Learn more about JAX-WS web Services here