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

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

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

1 ответ

Удалось сократить время с 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>
Другие вопросы по тегам