Посредник кеша WSO2 Enterprise Integrator 6.3.0 - PullRequest
0 голосов
/ 06 апреля 2020

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

<cache collector="false" maxMessageSize="100000" timeout="20">
    <protocol type="HTTP">
        <methods>*</methods>
        <headersToExcludeInHash/>
        <responseCodes>2[0-9][0-9]</responseCodes>
        <enableCacheControl>false</enableCacheControl>
        <includeAgeHeader>false</includeAgeHeader>
        <hashGenerator>org.wso2.carbon.mediator.cache.digest.HttpRequestHashGenerator</hashGenerator>
    </protocol>
    <implementation maxSize="100000"/>
</cache>

и перед ответом я добавил это

<cache collector="true"/>

Я сделал это, следуя документации здесь Cache Mediator

Если я вызываю API без второго кеширующего посредника, он отвечает мне, но не кеширует, и если я вызываю API с обоими медиаторами кеша, это приводит к ошибке:

«Сообщения с запросом не могут быть обработаны в кэше сборщика»

Что я не так? Спасибо

Ответы [ 2 ]

3 голосов
/ 07 апреля 2020

Эта ошибка возникает, когда в потоке запросов определен медиатор кэша с true сборщика. (ie Сборщик кэша используется перед вызовом внутреннего сервера из ESB). Пожалуйста, убедитесь, что поток правильный.

Пожалуйста, поделитесь конфигурацией синапса, если проблема не решена, чтобы мы могли помочь.

0 голосов
/ 08 апреля 2020

Я попытался вставить посредник с коллектором true в поток ответов, но без изменений. Это моя конфигурация синапса

Synapse configuration

...