这是一个迟到的答案,但可能对其他人有所帮助。
Apache Camel 现在似乎支持使用主机容器(例如 Tomcat/Jetty)公开 Restlet Web 服务
==============8<snip snip =========================
在 webapp 中使用 Restlet servlet
从 Camel 2.8 开始可用 在 servlet 容器中配置 Restlet 应用程序有三种可能的方法,使用子类 SpringServerServlet 可以通过注入 Restlet 组件在 Camel 中进行配置。在 servlet 容器中使用 Restlet servlet 可以使用 URI 中的相对路径配置路由(消除硬编码的绝对 URI 的限制),并允许托管 servlet 容器处理传入请求(而不是必须生成单独的服务器进程在新端口上)。要进行配置,请将以下内容添加到您的 camel-context.xml;
<camelContext>
<route id="RS_RestletDemo">
<from uri="restlet:/demo/{id}" />
<transform>
<simple>Request type : ${header.CamelHttpMethod} and ID : ${header.id}</simple>
</transform>
</route>
</camelContext>
<bean id="RestletComponent" class="org.restlet.Component" />
<bean id="RestletComponentService" class="org.apache.camel.component.restlet.RestletComponent">
<constructor-arg index="0">
<ref bean="RestletComponent" />
</constructor-arg>
</bean>
And add this to your web.xml;
<!-- Restlet Servlet -->
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>org.restlet.ext.spring.SpringServerServlet</servlet-class>
<init-param>
<param-name>org.restlet.component</param-name>
<param-value>RestletComponent</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/rs/*</url-pattern>
</servlet-mapping>
然后,您将能够访问已部署的路线
http://localhost:8080/mywebapp/rs/demo/1234
where localhost:8080 is the server and port of your servlet container
============== 剪断 >8 =========================
此信息于2014 年 1 月 16 日在http://camel.apache.org/restlet.html的底部找到