Я использовал Camel-Core 2.24.1 и смог сделать следующее:
from( sources.toArray(new String[0]) )
где sources - список URI, которые я получаю из настроек конфигурации. Я пытаюсь обновить код для использования Camel 3 (camel-core 3.0.0-RC2), но упомянутый выше метод был удален, и я не могу найти другой способ сделать то же самое.
В основном мне нужночто-то вроде:
from( String uri : sources )
{
// add the uri as from(uri) before continuing with the route
}
Если это поможет лучше понять, окончательный маршрут должен выглядеть следующим образом:
from( sources.toArray(new String[0]) )
.routeId(Constants.ROUTE_ID)
.split().method(WorkRequestSplitter.class, "splitMessage")
.id(Constants.WORK_REQUEST_SPLITTER_ID)
.split().method(RequestSplitter.class, "splitMessage")
.id(Constants.REQUEST_SPLITTER_ID)
.choice()
.when(useReqProc)
.log(LoggingLevel.INFO, "Found the request processor using it")
.to("bean:" + reqName)
.endChoice()
.otherwise()
.log(LoggingLevel.ERROR, "requestProcessor not found, stopping route")
.stop()
.endChoice()
.end()
.log("Sending the request the URI")
.recipientList(header(Constants.HDR_ARES_URI))
.choice()
.when(useResProc)
.log(LoggingLevel.INFO, "Found the results processor using it")
.to("bean:" + resName)
.endChoice()
.otherwise()
.log(LoggingLevel.INFO, "resultProcessor not found, sending 'as is'")
.endChoice()
.end()
.log("Sending the request to all listeners")
.to( this.destinations.toArray( new String[0] ) );
Любая помощь будет принята с благодарностью.