-
Bug
-
Resolution: Not a Bug
-
Major
-
None
-
CSB-4.4.x
-
None
-
False
-
-
False
-
-
-
-
Important
-
Very Likely
-
0
A trivial `camel-rest` application, based on CSB 4.4, reduced from a much more complex, customer application, fails to start when deployed on Tomcat 10, when some specific dependencies are included in the build. The application works fine using `mvn spring-boot:run` with or without the dependencies.
Both `camel-xj-starter` and `camel-saxon-starter` have the same sub-dependencies. Installing these sub-dependencies without the 'starter' component does not lead to a problem. Presumably, there is some Spring Boot automation in the starter that doesn't work on Tomcat.
Steps to reproduce
1. Install and start Tomcat 10
2. Unpack and build the test case `sampleapp_redhat_minimal.zip`. Ensure that neither dependency `camel-xj-sample` or `camel-saxon-starter` is enabled in `pom.xml`. You'll need to `mvn install` the `parent/` directory, which contains a parent POM, before building the main application.
3. Copy the built `sampleapp-1.0.0.war` to the `webapps/` directory in Tomcat
4. `tail` the `catalina.out` file, to see the progress of the application installation. You should see two Camel routes starting.
5. (Optional) Test that the application works, by making a POST request on it. You should see a 'FOOO!' message in `catalina.out`.
$ curl --insecure --request POST --url http://localhost:8080/sampleapp-1.0.0/api/RestSslRequest --header 'accept: application/xml' --header 'content-type: application/xml' --data '<order><id>10<<order><id>10</id><item>Blah blah</item></order>
6. Edit `pom.xml` to enable either of `camel-xj-starter` or `camel-saxon-starter`.
7. Rebuild and redeploy. Note that the application does not initialize, with many exceptions.