簡體   English   中英

使用apache cxf添加多個端點/服務類

[英]Add multiple endpoint / service classes using apache cxf

我正在嘗試使用apache cxf(非spring)實現rest webservice。 我已經配置了我的web.xml並添加了一個端點地址,它工作正常,但現在我想再添加一個端點地址或一個服務類,我無法做到,因為第二個覆蓋了第一個。 我的web.xml是這樣的

<servlet>
        <display-name>CXFNonSpringJaxrsServlet</display-name>
        <servlet-name>CXFNonSpringJaxrsServlet</servlet-name>
        <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
        <init-param>
            <param-name>jaxrs.serviceClasses</param-name>
            <param-value>abc</param-value>
        </init-param>
            <init-param>
                <param-name>jaxrs.address</param-name>
                <param-value>/abc</param-value>
            </init-param>
         <load-on-startup>1</load-on-startup>
    </servlet>



        <servlet>
        <display-name>CXFNonSpringJaxrsServlet</display-name>
        <servlet-name>CXFNonSpringJaxrsServlet</servlet-name>
        <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
        <init-param>
            <param-name>jaxrs.serviceClasses</param-name>
            <param-value>xyz</param-value>
        </init-param>
        <init-param>
            <param-name>jaxrs.address</param-name>
            <param-value>/xyz</param-value>
        </init-param>
         <load-on-startup>1</load-on-startup>
    </servlet>

你可以這樣做有多個端點:

web.xml中

<servlet>
<servlet-name>s1</servlet-name>

<servlet-class>
    org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
</servlet-class>
<init-param>
<param-name>jaxrs.serviceClasses</param-name>
<!-- Multiple resource classes separated with space -->
<param-value>
com.gsdev.Resource1 com.gsdev.Resource2
com.ttdev.bs.BookSelectionsResource
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

資源類將如下:

@Path("endpoint1/")
public class Resource1

@Path("endpoint2/")
public class Resource2

現在你有不同的端點

http://host:port/webapp/services/endpoint1/
http://host:port/webapp/services/endpoint2/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM