# Apache Camel — CWE-407 Scan Result: CLEAN (beyond camel-0001) ## Scan Date: 2026-03-29 ## Scope Searched for route dependency traversal, `@DependsOn`-style annotation handling, and recursive route startup ordering without visited sets. The pre-existing `camel-0001` defect (route startup `ArrayList` O(R²)) is already documented. ## Findings ### InternalRouteStartupManager Route startup ordering uses `TreeMap` and `LinkedHashMap` for ordering — no recursive traversal of a route dependency graph. Routes are sorted by `startupOrder` integer value via `Comparator`, not by graph traversal. ### AbstractCamelContextFactoryBean.getDependsOn `getDependsOn()` is an abstract method returning a `String` — just a label for Spring `@DependsOn` ordering. No Camel-internal graph traversal is performed; Spring's own dependency resolution handles this. ### Route dependency shutdown (DefaultShutdownStrategy) Uses reverse `startupOrder` sorting — no recursive graph traversal. ### TypeUtils / annotation processors Camel does not use annotation processors for meta-annotation hierarchies in the manner Dubbo does. Camel's `@RoutingSlip`, `@RecipientList` etc. are resolved at runtime on flat lists. ## Conclusion CLEAN (beyond pre-existing camel-0001). No additional CWE-407 defects found in Apache Camel route dependency or startup ordering code.