Как изменить значения в компоненте JNDI? - PullRequest
1 голос
/ 12 октября 2011

Я видел это решение о совместном использовании сеанса для различных приложений в этой теме: Есть ли способ поделиться состоянием сеанса между различными приложениями в tomcat?

Мне удалось зарегистрировать бин JNDI и получить его в разных приложениях. Но я действительно хочу изменить значение этого компонента (добавить значение в хэш-карту) в одном приложении и получить новое значение в других приложениях, но изменение, по-видимому, происходит только локально.

Есть ли какое-нибудь решение?

Спасибо

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Получаете ли вы один и тот же компонент во всех приложениях или контейнер создает новый компонент для каждого приложения?

Если вы не можете заставить его работать, вот еще один обходной путь: создайте другое веб-приложение и используйте его, чтобы поделиться состоянием. Преобразуйте состояние во что-то, что вы можете легко отправить в приложение (XML или JSON).

Если вы немного осторожны (используйте только Input / OutputStreams и кодировку ISO-8859-1), также должна быть возможность сериализации объектов Java напрямую и передачи их на сервер (с обычными предостережениями сериализации).

Наконец, вы можете настроить RMI-сервер на том же компьютере, который предлагает API, подобный карте, для обмена данными.

0 голосов
/ 12 октября 2011

Вы пытались использовать метод повторного связывания JNDI Context?Это позволяет заменить связанный в данный момент объект новым.

...