gpt4 book ai didi

java - 嵌入在 WAR 中的 Camel CXF RS 服务器

转载 作者:行者123 更新时间:2023-11-30 10:53:57 24 4
gpt4 key购买 nike

在 Camel(带有蓝图)中运行 CXF-RS 服务器的所有示例如下所示:

    <cxf:rsServer id="rsServer" address="http://localhost:8000/CxfRsRouterTest/route"
serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService" >

...
</cxf:rsServer>

然后

<route id="control">
<from uri="cxfrs://bean://rsServer"/>
<log message="test..."/>
</route>

但是当 Camel 在 WAR 中运行时,这没有意义,因为 address 不能是任意的,而是在主机应用程序的上下文中。 (此外,在此处 ever 的 URL 中设置完整的主机名有什么意义?不应该只是端口和路径吗?)

我尝试的是将以下内容添加到 web.xml 中:

<!-- CXF servlet -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

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

在这种情况下,当我点击 http://localhost:8080/myapp/route 时我得到:

org.apache.cxf.transport.servlet.ServletController invoke WARNING:

Can't find the the request for localhost:8080/myapp/route's Observer

是否支持这种情况?如果可以,如何配置?

最佳答案

以下应该有效:

<cxf:rsServer id="rsServer" address="/CxfRsRouterTest/route" 
serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService" >

授予访问权限

http://localhost:8080/CxfRsRouterTest/route

关于java - 嵌入在 WAR 中的 Camel CXF RS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com