A classic mailet container takes up to 1 s to load on a warm JVM.
Fast startup is critical for our testing strategy (relying heavily on integration tests). We should make camel container loading faster.
- Some parameters are passed to components via dynamically generated properties, on a per call basis. This is inefficient and can be passed by a constructor.
- Many classes used in CamelMailetContainer are not static
- We finally can heavily simplify the logic expressed in Camel DSL, and express it through a split - process way, instead of relying on camel choices.
We should measure the effect on boot time, and run Gatling SMTP test to evaluate the impact on delivery.