Обновите кеш camel-sap без перезапуска всего экземпляра

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
205
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

Punkhorn Я снял отметку с вашего ответа, потому что хочу подтвердить ответ @Trixx. У меня была похожая идея, и я попробую.

Yannick 10.09.2018 14:34

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

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

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

Ответ принят как подходящий

Я открыл заявку в службу поддержки RedHat, и предложение о добавлении функции очистки кешей репозитория JCo и уровня данных было принято. задача был создан, а реализовано - пользователем @Punkhorn. Спасибо за это!

В заявке на поддержку указано, что эта функция будет включена в Предохранитель начиная с выпуска 7.2. Поэтому, если вы используете эту версию или новее, кеш можно очистить следующим образом:

<to uri = "sap-clear-cache" />

Другие вопросы по теме