Пожалуйста, прости мое невежество, но я не могу найти никаких ресурсов, описывающих, как получить ссылку на объявленный OSGi источник данных без жесткого кодирования имени в определении Spring XML.
Я использую Talend ESBSE Runtime (6.5.1) и попытка создать маршрут, который будет повторно использоваться с различными источниками данных osgi в качестве ссылочного источника данных для маршрута.
Если в конфигурации Spring я объявляю
<osgi:reference id="dataSource" interface="javax.sql.DataSource" filter="(osgi.jndi.service.name=myDataSourceName)" />
это работает.Однако я не вижу никакого способа параметризации этого, так как, когда я пытаюсь использовать
<osgi:reference id="dataSource" interface="javax.sql.DataSource" filter="(osgi.jndi.service.name=${app.datasource.name})" />
, журнал karaf жалуется, что не может найти службу с именем ${app.datasource.name}
, которую он явно не собираетсянайти.
Если параметры не могут быть использованы в фильтре для ссылок osgi, я мог бы настроить это на Java, но нигде не вижу, как добраться из реестра Camel Context до базовой OSGi.Registry - что делает элемент osgi: reference в Spring XML.
Если кто-то может указать мне правильное направление, это было бы здорово, так как я подозреваю, что я могу неправильно понять, как функционируют различные компоненты.
Спасибо!