2015-05-29 1 views
3

В apache-camel существует ли способ автоматического генерации routeId, переопределяющий существующие номера маршрутов (сгенерированные в RouteDefinitionHelper)?AutoGenerating routeId's in camel

+1

Вы можете написать свой собственный идентификатор маршрута при определении маршрута - настоятельно рекомендуется также его использовать. Могу ли я узнать намерение изменить идентификатор маршрута по умолчанию? – Jayaraj

+0

Я хочу, чтобы соглашение было в формате: : . Чтобы я мог их хорошо распознать, среди всех этих маршрутов в контексте. Я хочу, чтобы код был точным и менее подробным, даже не давая routeId, я должен сгенерировать его с вышеупомянутым форматом. – uttam

+0

Я не уверен в настройке имени маршрута верблюда. Я считаю, что лучше настроить название маршрута после настройки. – Jayaraj

ответ

0

Вы можете указать их непосредственно для маршрутов, а также для процессоров на ваших маршрутах.

from("direct:start").routeId("MyMainRoute") 
    .to("direct:out").id("MyOutputProcessor"); 

Эти идентификаторы будут отображаться на вашем jConsole, чтобы вы могли видеть статистику по вашим маршрутам и процессорам.

+0

Это нормально, но я хочу, чтобы мой маршрут автоматически генерировал собственный маршрут RouteId этого конкретного формата: : . – uttam

+0

Я вполне уверен, что нет никакого способа установить автоматическую политику генерации. Для каждого из ваших маршрутов вы можете одновременно установить URL-адрес и URL-адрес маршрута. Если вы делаете копию одного маршрута много раз, вы можете создать родительский компонент с этим маршрутом и использовать одну переменную для uri и routeId. Помимо этого, я думаю, что ваша мысль не совсем плоха, и вы можете открыть это как запрос улучшения функции. –

1

Существует, насколько мне известно, не автогенерацию политики на routeNaming вы можете использовать, но вы могли бы сделать что-то похожее на это:

private String myURI; 

from("jms:queue:" + myURI).routeId("JmsComponent:" + myURI) 
    .to("...."); 

Используя что-то вроде плана или весной, чтобы придать переменную в java, вы можете изменить свой URI, и он соответствующим образом изменит название маршрута. Вы также можете использовать полный URI в своей личной переменной, а затем самостоятельно проанализировать конечную точкуURI и отформатировать ее для routeId.

Смежные вопросы