Mule 4 Генератор ответов кэширования только полезной нагрузки - PullRequest
0 голосов
/ 23 мая 2019

В Mule 3.x мы используем стратегию кэширования, которая использует генератор только полезной нагрузки, чтобы просто кэшировать полезную нагрузку, а не всю полезную нагрузку, используя класс, описанный в этом руководстве.

https://support.mulesoft.com/s/article/How-to-cache-only-the-payload-and-not-the-entire-message

package com.mulesoft.support;



import org.mule.DefaultMuleEvent;
import org.mule.api.MuleEvent;

import com.mulesoft.mule.cache.responsegenerator.ResponseGenerator;

public class PayloadResponseGenerator implements ResponseGenerator
{
  @Override
  public MuleEvent create(MuleEvent request, MuleEvent cachedResponse)
  {
    // we only need to set the payload
    request.getMessage().setPayload(cachedResponse.getMessage().getPayload());

    return request;
  }
}

Я пытаюсь реализовать его в муле 4, но я не могу найти эквивалент setPayload в новом интерфейсе событий API

import org.mule.api.MuleEvent;

import org.mule.runtime.core.api.event.CoreEvent;

import com.mulesoft.mule.runtime.cache.api.response.ResponseGenerator;

public class PayloadOnlyCachingResponseGenerator implements ResponseGenerator{

    @Override
    public MuleEvent create(MuleEvent requestedEvent, MuleEvent cachedResponseEvent) {

        Object cachedPayload = cachedResponseEvent.getMessage().getPayload();

        requestedEvent.getMessage().setPayload(cachedPayload);

        return requestedEvent;
    }

}

Я получаю сообщение об ошибке при настройке полезной нагрузки, так как она больше не существует. У нас есть другой способ реализовать это?

Заранее спасибо

...