Создание кэша с помощью веб-сервисов Talend SOAP

#caching #esb #talend

#кэширование #esb #talend

Вопрос:

Я пытаюсь создать кэш для веб-сервиса SOAP в Talend: для входного параметра «reinitCache» может быть установлено значение true, если кэш необходимо перестраивать (например, один раз в день). В противном случае кэш просто считывается, и отправляется ответ SOAP.

К сожалению, я пытался сделать это с помощью компонентов tHash, и, хотя он хорошо работает внутри студии, после развертывания на Karaf он больше не работает: примерно в 50% случаев возникает ошибка «tHash не инициализирован».Пример моей работы Похоже, что компоненты tHash не всегда доступны.

Есть ли более безопасный способ сделать это? Я также безуспешно пытался использовать tBuffer.

Комментарии:

1. Задания Talend обычно не хранятся в памяти после их запуска. Даже если сборщик мусора все равно выполнит свою работу. Удивительно, что иногда у вас все еще есть данные. Я подозреваю, что вам нужно хранить временные данные в базе данных, возможно, в лучшем случае используя таблицы памяти.

2. Я думаю, что, поскольку компонент tESBProviderRequest находится в режиме «Продолжать прослушивание», он предотвращает завершение задания и, следовательно, вмешательство GC. Хранение в таблице / файле, пожалуй, единственный вариант в моем случае.