Обновление кэша верблюжьего сока без перезапуска всего экземпляра - PullRequest
0 голосов
/ 06 сентября 2018

Я использую компонент RedHat's Camel-sap в RedHat Fuse для вызова модулей через SAP RFC. Каждый раз, когда корректируется структура модуля, необходимо перезапустить экземпляр Fuse , чтобы кэшировать обновленный репозиторий SAP. Есть ли способ обновить кеш с помощью репозитория SAP без перезапуска экземпляра?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Кажется, что этот компонент верблюжьего сока использует SAP Java Connector ( JCo ) и библиотеку классов Java IDoc (JIDocLIb).

По соображениям производительности эти библиотеки хранят необходимые метаданные для RFC и для IDoc постоянно в памяти. Но библиотеки также предлагают API для удаления метаданных из кеша или для очистки всего хранилища метаданных. Таким образом, было бы возможно реализовать желаемую функциональность каким-либо образом с использованием компонента camel-sap или, если у вас есть прямой доступ к используемым API-интерфейсам SAP Connector, реализовать это в Java самостоятельно.

Что невозможно, так это то, что кеш метаданных будет очищен или аннулирован автоматически после изменения в бэкэнде ABAP. Но так как я не знаю верблюжьего сока, я не могу здесь помочь.

0 голосов
/ 06 сентября 2018

Короткий ответ - нет.

Изменение структуры RFC в системе SAP является основным изменением системы. Компонент предназначен для интеграции со стабильной производственной системой SAP и кэширует метаданные SAP для повышения эффективности. Я предполагаю, что вы должны изменять RFC в среде разработки. В таком случае вам необходимо перезапустить любой подключенный контейнер Fuse, поскольку вы изменили систему SAP.

...