Как 2 REST-интерфейса могут совместно использовать экземплярыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как 2 REST-интерфейса могут совместно использовать экземпляры

Сообщение Anonymous »

Мы планируем создать «REST»-сервер, и теперь у нас возникла проблема: мы хотим, чтобы разные REST-интерфейсы обменивались информацией.
В качестве примера, чтобы прояснить ситуацию
  • У нас есть Application-Class, который сопоставляет URL-адрес: «http://.../MyRESTApplication» (с @ApplicationPath, расширить Приложение)
  • У нас есть интерфейс SessionMaker, который сопоставляет .../MyRestApplication/SessionMaker, который возвращает токен сеанса и сохраняет токен в SessionMap
  • У нас есть интерфейс DoThings, который сопоставляется с .../MyRestApplication/doThings?={token
  • У нас есть класс SessionMap, который должен хранить токены и метку времени.
Этот SessionMaker проверяет правильность пользователя и пароля и возвращает токен сеанса, если да (это работает). Предполагается хранить токен в sessionMap, чтобы DoThings мог получить к нему доступ. Но DoThings не может получить доступ к этому SessionMap, вместо этого создается новый экземпляр.

Как мы можем, чтобы SessionMaker и DoThings использовали один и тот же экземпляр SessionMap.
У меня есть 3 идеи, но я не знаю, какие именно применимо.
  • Создайте синглтоны SessionMaker и DoTHing (сейчас они есть в getClasses) в ApplicationClass. Создайте экземпляр SessionMap и передайте его обоим.
  • Попробуйте вытащить его из контекста приложения, но я не знаю, как это сделать.
  • Объедините SessionMaker и DoThings в один, но в результате получится антишаблон «Blob».
Единственный еще один вопрос, который я нашел, касается аналогичная ситуация:
Сервер REST Джерси: создание экземпляров классов ресурсов

Подробнее здесь: https://stackoverflow.com/questions/336 ... -instances
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»