Apache CXF - очень низкая производительность при первом вызове - PullRequest
0 голосов
/ 26 декабря 2018

Я использую Apache CXF 3.2.7 в своем веб-приложении для клиента веб-службы SOAP.Я сгенерировал клиента через wsdl2java и повторно использую порт для вызова.Странное поведение заключается в том, что при первом вызове (и только при первом вызове) клиент запрашивает много времени для отправки запроса SOAP.Это занимает 20-30 секунд !!!

  private void init() {

    if (port != null)
        return;
    // initialize the client

   }

   public void call() {
     init();

     long start = System.currentTimeMillis();
     ResponseObject wsResponse = port.getSomething(...);
     long elapsed = System.currentTimeMillis()- start;

   }

Анализ некоторых журналов Я заметил, что port.getSomething () требует много времени ПЕРЕД отправкой SOAP-запроса.Следующие вызовы очень-очень быстрые.

В поисках гугла Я прочитал несколько статей об этой проблеме, и это кажется "особенностью" CXF, но я не понимаю, есть ли обходной путь

PS:На мой взгляд, это своего рода "ошибка", потому что 20-30 секунд - это "смешное" время для современного оборудования ...

Спасибо, Андреа

...