Оптимизация CXF Webservice - PullRequest
       20

Оптимизация CXF Webservice

0 голосов
/ 12 сентября 2018

У меня есть веб-сервис CXF, который обрабатывает запросы, содержащие строки base64. Некоторые запросы занимают много времени, что превышает наши требования. Я хочу, чтобы обработка завершилась за 3 секунды, но большинство запросов занимают 12 секунд. Когда я отслеживаю обработку перехватчиков, DocLiteralInInterceptor занимает больше всего времени. Согласно документации, этот перехватчик проверяет действие SOAP и связывает сообщение. Я использую привязку AEGIS и попытался отключить проверку с включенной схемой-проверкой в ​​значении false в конфигурации. Но улучшения нет. Есть ли способ оптимизировать процесс привязки?

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

1 Ответ

0 голосов
/ 17 сентября 2018

Удалось сократить время с 12 секунд до 200 мс с помощью обработки в памяти вместо обработки на основе файлов. Это было сделано путем переопределения свойства CXF по умолчанию 64 КБ для обработки в памяти до 1 МБ, как показано ниже:

 <cxf:properties>
        <entry key="bus.io.CachedOutputStream.Threshold" value="1000000"/>
        <entry key="bus.io.CachedOutputStream.MaxSize" value="1000000000"/>
</cxf:properties>
...