Кэширование потоков Apache Camel, Java - PullRequest
0 голосов
/ 12 февраля 2019

Я использую Camel 2.18 и Java 8. Ниже приведен код с маршрутизацией.Я помещаю такой JSON в этот сервис:

{
    "bigField": "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest",
    "smallField": "234"
}

И проблема в том, что bigField довольно большой, может быть 256MB.Вот почему я думаю о потоковом кешировании в Camel: http://camel.apache.org/stream-caching.html Не уверен, смогу ли я применить его в моем сценарии?Что я понимаю, что этот механизм должен хранить поток на диске понемногу?Я создал каталог / tmp / cachedir и там ничего не появляется.Я отправляю 5 МБ запросов.

Чего мне не хватает?

@SpringBootApplication
public class Application extends RouteBuilder {

@Override
    public void configure() throws Exception {

        setupStreamCaching();

        restConfiguration().host("0.0.0.0").port(PORT)
                .endpointProperty("headerFilterStrategy", "#myHeaderFilterStrategy")
                .endpointProperty("matchOnUriPrefix", "true")
                .endpointProperty("sendServerVersion", "false")
                .bindingMode(RestBindingMode.json);

        rest(API_CONTEXT + V1)
                .post(API_OPERATION)
                .type(RequestModel.class)
                .outType(Response.class)
                .consumes(APPLICATION_JSON)
                .produces(APPLICATION_JSON)
                .to(MAIN_ROUTE);

        from(MAIN_ROUTE)
                .routeId(MAIN_ROUTE)
                .process(requestValidator)
                .to(SERVICE_CALL)
                .end();


    private void setupStreamCaching() {
            getContext().setStreamCaching(true);
            getContext().getStreamCachingStrategy().setSpoolDirectory("/tmp/cachedir");
            getContext().getStreamCachingStrategy().setSpoolThreshold(2); //(64 * 1024);
            getContext().getStreamCachingStrategy().setBufferSize(2);//(16 * 1024);

        }

http://camel.apache.org/stream-caching.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...