Как реализовать очень простой непостоянный кеш в JEE SOAP Handler - PullRequest
0 голосов
/ 21 января 2019

Я видел множество блогов, статей и технических заметок о обработчике SOAP, которые являются идеальным артефактом для реализации базового кэша, но ни один из них не идет дальше и не объясняет, как его реализовать.

У меня естьпростой веб-сервис, построенный только на JDK (не размещенный на сервере приложений), для которого я пытаюсь реализовать простой кэш с использованием EH Cache.Пока что кеш реализован на клиенте и сервере, и он также смешан с бизнес-логикой, и мне это не нравится.

С точки зрения клиента это довольно просто.

public String getLatestValueClient() {

   String value = cache.get("LATEST_VALUE");
   if(value==null) {
      // invoke the web service
      xjcClient.getLatestValue(); // client built with XJC
   }
   return value;
}

Или на сервере это также проще.

@WebMethod
public String getLatestValue() {

   String value = serverCache.get("LATEST_VALUE");
   if(value==null) {
      // business logic for retrieving the value
   }
   return value;
}

Но, поскольку мне нравится идея включить или отключить конфигурацию впадины кеша, я согласен, что это одно из лучших мест, где ее разместить.будет обработчик SOAP, который может быть включен или выключен через конфигурацию обработчика XML.

Вопросы:

  1. В обработчике сервера, что я должен кэшировать?Весь ответ или только значение, а затем восстановить весь ответ?Но на каком основании.
  2. Это внутренняя служба SOAP, куда бы вы поместили кеш, сервер или клиент?Или и то и другое?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...