Mik*_*keN 6 java spring cxf jax-rs jax-ws
目前我们有一个带有Spring MVC DispatcherServlet和两个CXFServlet的Java webapp.DispatcherServlet是默认的servlet(映射/
),一个CXFServlet映射到/api/*
另一个/services/*
.
困扰我的是,似乎不可能有1个CXFServlet承载2个服务,一个打开/api/v0
,一个打开/services/myService
,没有映射/*
到CXFServlet.如果这是可能的,它将节省初始化时间,配置麻烦和另一个servlet实例的内存要求.
所以基本上,我的问题是,是否有人知道如何在1个CXFServlet中的2个URL上托管2个CXF服务,没有共同的基础/根URL,最好使用Spring命名空间配置,而不映射/*
到CXFServlet?
CXF ServletControllerinvoke
的方法首先调用,它返回所请求 URL 的不带servlet 的部分。然后,此调用的结果用于通过调用来匹配任何已定义的服务。因此,目前不可能使用包含 servlet 部分的路径来提供 CXF 匹配服务 \xe2\x80\x94 CXF 永远不会调用为此所需的服务。HttpServletRequest#getPathInfo
url-pattern
DestinationRegistry#getDestinationForPath
HttpServletRequest#getServletPath
请注意,base-address
可以在 servlet 的初始化参数 ( <init-param>
) 中设置的值只会影响 CXF显示的任何 URL ,因为ServletController#getBaseURL
在服务调用期间不会使用使用该值的方法。
归档时间: |
|
查看次数: |
1973 次 |
最近记录: |