Я пытаюсь сделать небольшую программу, которая принимает входные данные консоли, такие как имя пользователя, школьную и другую информацию, а затем создает файл, имя файла которого принадлежит пользователю. Затем каждый файл будет находиться в папке, названной в честь школы. Я не уверен, как создать файл с такими качествами, поскольку Camel, кажется, определяет путь и имя файла перед чтением любого ввода. Есть ли способ обойти эту проблему?
На странице компонента файла есть пример:
// set the output filename using java code logic, notice that this is done by setting
// a special header property of the out exchange
exchange.getOut().setHeader(Exchange.FILE_NAME, "report.txt");
вы можете заменить report.txt именем файла, который хотите использовать.
Что касается каталога, не можете ли вы сохранить имя каталога в заголовке и ссылаться на него с конечной точки:
.to("file://${headers.directory}");
подробнее здесь: http://camel.apache.org/file2.html
Dynamic expressions with ${ } placeholders is not allowed. Use the fileName option to set the dynamic expression. at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:910)
to(Endpoint endpoint)
использоватьto(Endpoint endpoint)
я использовалrecipientList(simple("${header.directory}"))