我有一个使用 apache cxf 开发的 rest API 模块。我想让 spring 集成组件在同一个模块中运行。这个特性只是在每个午夜做一个文件轮询,复制到一些目录,然后做一些处理。我只需要知道 spring-integration 是否必须在不同的模块中实现,或者我可以在同一个 API 模块中执行。我不希望由于 Spring 集成过程而中断其余的 api 服务调用。
问问题
234 次
1 回答
1
您可以使用相同的模块,因为它不会影响当前的 api 服务调用。由于 Spring 具有调度程序 servlet 条目,它将根据提供的 servlet 映射处理请求。我已将 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>
于 2016-02-10T06:18:52.553 回答