Talend ESB 6.5.1 Среда выполнения: IllegalArgumentException: интерфейс org.springframework.core.InfrastructurePolicy не отображается в загрузчике классов - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь развернуть в ESB Runtime маршрут, который использует источник данных karaf, ссылаясь на него в конфигурации Spring как

<osgi:reference id="dataSource" interface="javax.sql.DataSource" filter="(osgi.jndi.service.name=dataSourceName)" />

Однако при развертывании я получаю сообщение:

IllegalArgumentException: interface org.springframework.core.InfrastructurePolicy is not visible from class loader

Ранее аналогичный маршрут был развернут нормально, поэтому я перекомпилировал и развернул его, и у меня возникла та же проблема. Единственное, что я могу видеть, это то, что я изменил то, что я построил ряд bean-компонентов, которые требуют внешних библиотек. Этот маршрут не использует bean-компоненты, но, похоже, Talend в любом случае встраивает библиотеки в файл .kar. Одним из них является spring-core-3.2.14.RELEASE.jar, поэтому мне интересно, не конфликтует ли это с версией, установленной в Karaf, в которой, по-видимому, установлен Spring 3.2.18.

Это может быть проблемой, или я лаю не на том дереве?

Если это так, как я могу остановить Talend, включив эти библиотеки в файл .kar, так как они должны быть развернуты в любом случае в Karaf (и, похоже, в любом случае отображаются как установленные пакеты), а не как часть маршрута .jar.

Любая помощь или указатели с благодарностью. Спасибо!

Баламута.

Edit: Библиотека Spring может показаться проблемой, так как при удалении ее из .jar внутри .kar (с помощью zip-редактора) происходит успешное развертывание. Однако это нереализуемое решение, поэтому любые предложения о том, как убедить Talend прекратить включение его в библиотеку, будут приветствоваться.

...