我们正在将项目从Wildfly迁移到tomcat。该项目主要由骆驼路线和加工组成。第一步,我们添加了许多依赖项,这些依赖项是作为Wildfly的一部分提供给要导入的pom的,因为不再像使用wildfly那样提供它们。
将此应用程序部署到tomcat时,部署时控制台中几乎没有输出。 Wildfly上缺少的一件事是路由已启动的通知。
当我尝试点击简单的api时,我得到一个404,发送到日志的唯一项目是:
org.apache.camel.component.servlet.CamelHttpTransportServlet - No consumer to service request org.apache.catalina.connector.RequestFacade@6ed46089 as resource is not found
web.xml是:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>Bumblebee</display-name>
<!-- the listener that kick-starts Spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Camel servlet -->
<servlet>
<servlet-name>CamelServlet</servlet-name>
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Camel servlet mapping -->
<servlet-mapping>
<servlet-name>CamelServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
我的一位同事在迁移不使用骆驼但有休息API的Web应用程序时遇到了类似的问题。她也无法击中终点,得到404
我认为迁移到tomcat时缺少一些关键。引起某些问题的一件事是上下文路径和其中的版本名称。我想我已经通过在server.xml中对其进行编辑来暂时解决了这个问题。我知道这不是一个长期的解决方案。