2014-01-23 1 views
1

Кто-нибудь знает, как обмениваться переменными сеанса и восстанавливать из любого портлета в портале websphere, например, я установил переменную сеанса (Object) в один портлет, и я хочу получить значение этой переменной. Как я могу это сделать?.Обмен переменными сеанса в портале websphere

Я использую портал Websphere 8, и мой IDE является RAD 8,5

С уважением

ответ

1

Если портлеты развернуты в том же веб-приложение, вы можете использовать PortletSession с областью применения: portletRequest.getSession() .setAttribute ("name", "value", PortletSession.APPLICATION_SCOPE).

В противном случае вам необходимо создать свой собственный сервис совместного доступа, в котором будут храниться переменные. Кажется, что эта статья может вам помочь: http://www.ibm.com/developerworks/websphere/library/techarticles/0602_hepper/0602_hepper.html

+0

Привет, Thomas, я уже видел ссылку, но у меня проблемы с версией портала, потому что есть некоторые классы, устаревшие для портала 8. С уважением –

0

Если вы хотите обмениваться объектами/состоянием через портлеты, которые не находятся в одном и том же веб-модуле (военный файл), а вы находитесь в WebSphere Portal, вы можете использовать WebSphere Application Server проприетарный сервис под названием DynaCache. Он зрелый и широко используется. Вы можете создать объект Map, который будет использоваться не только через портлеты (действительно, любой код приложения в той же JVM), но также может быть настроен для совместного использования объектов в JVM (например, в кластере). Интерфейс программирования клавиш: DistributedMap. Вот неплохое blog post о настройке экземпляра кеша, чтобы ваши портлеты могли просматривать карту через JNDI и либо получить, либо поместить в нее, как и любой другой Map<K,V>.

+0

Привет, спасибо, огромное спасибо, это было очень полезно. С уважением –

+0

Scotth у меня вопрос, что произойдет, если я обмениваюсь объектом, все пользователи могут его увидеть? С уважением –

+0

Dynacache - это просто большая карта. Ключи по вашему выбору. Если вы используете строку идентификатора сеанса как ключ или, возможно, имя пользователя (кэширует все логины с одинаковым идентификатором), то Карта будет похожа на «суперсеанс» и данные, видимые через модули или jvms. –