2014-11-17 3 views
0

Мне нужен глобальный Object для всех маршрутов, процессов и компонентов. В этом глобальном Object я бы сохранил параметры конфигурации. Но я не знаю, как и где я могу установить глобальный Object, и как я могу прочитать его в своем собственном процессе и моих собственных компонентах.Как я могу создать глобальный объект верблюда?

Я создаю контекст весны весной и имею RouteBuilder, чтобы строить свои маршруты.

Спасибо

+0

Эээ, вы можете захотеть использовать Spring, чтобы ввести объект Properties ... Или использовать ProperyPlaceholderConfigurer сразу? Как и все остальное? –

+0

Где по-другому? Что лучше использовать? Я хочу иметь объект, где я могу получить доступ в целом! Я новичок в Apache Camel, поэтому не знаю, что лучше – Burner

+0

Это не имеет ничего общего с Camel, но с весной. Объект Properties может быть немного более гибким, тогда как конфигуратор Spring легче настроить. Есть буквально тысячи уроков и сообщений в блогах. Погугли это. Затем вы можете просто ввести нужные значения. –

ответ

1

Если вы хотите настроить свой маршрут, то вы можете использовать PropertyPlaceholderConfigurer см here:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> 

<camelContext xmlns="http://activemq.apache.org/camel/schema/spring"> 
    <route> 
    <from uri="activemq:${someQueueName}"/> 
    <to uri="mock:results"/> 
    </route> 
</camelContext> 

В качестве альтернативы, вы можете использовать ApplicationContextRegistry, что позволяет искать бобы весной ApplicationContext. Эта реализация автоматически используется, когда вы используете Camel в среде Spring, см. here. Например, доступ к реестру следующим образом:

String myValue = exchange.getContext().getRegistry().lookupByNameAndType("myKey", String.class); 
Смежные вопросы