У нас есть сервер приложений, предоставляющий множество веб-сервисов. Мы запускаем tomcat на стороне, которая использует эти веб-службы в приложениях JSF для предоставления пользовательского интерфейса. Предположим, что у нас есть компонент, который имеет метод getWebservice(), который возвращает класс прокси, используемый jaxws для связи с webservice. Это позволяет нам взаимодействовать с вебом-сервисом с минимальными усилиями: генерировать с помощью wsimport, а затем использовать # {myBean.webservice.myProperty} и т.д.Кэширование JAXWS в JSF
Однако, как вы можете видеть, это потребует много взаимодействия WebService при повторном использовании открытых методов , В нашем usecase большинство методов довольно статичны, по крайней мере, на протяжении всего цикла @RequestScoped, поэтому взаимодействие большинства методов должно быть кэшировано после его вызова (по крайней мере для одного запроса).
В настоящее время наша установка является создание службы оболочки в бобе и каждая обертка делает то же самое:
if (methodResponse == null)
methodResponse = getWebservice().getMethod();
return methodResponse;
Вы можете видеть, что это становится очень утомительным очень быстро. Есть ли способ аннотировать метод jaxws для кеширования? Или я могу создать собственный собственный прокси-класс на основе интерфейса и как-то «связать» его с прокси-сервером, используемым jaxws (и выполнить общее кэширование), или я могу создать свою собственную аннотацию, которая выполняет кэширование?
Я еще не успел создать прокси-сервер в соответствии с учебным пособием, но я просмотрел статью и, похоже, именно то, что мне нужно. Благодаря! – nablex