Где хранить атрибуты контекста, используя несколько серверов (J2EE) [закрыто]

Разница между Thread и runnable. Если мы создаем Thread с использованием класса Thread, тогда количество потоков равно количеству созданного нами объекта. Если мы создаем поток, реализуя интерфейс runnable, мы можем использовать один объект для создания нескольких потоков. Один объект разделяется несколькими Thread.So он будет потреблять меньше памяти

. Поэтому в зависимости от требования, если наш данные не являются сенситивными. Таким образом, он может быть разделен между несколькими Thread, которые мы можем использовать интерфейс Runnable.

-1
задан Ommadawn 29 March 2019 в 16:07
поделиться

1 ответ

например. см. Контекст сервлета в кластерной среде , который объясняет проблему:

В случаях, когда контейнер распределен по многим виртуальным машинам, веб-приложение будет иметь экземпляр ServletContext для каждая JVM.

Атрибуты контекста являются локальными для JVM, в которой они были созданы. Это не позволяет атрибутам ServletContext быть хранилищем общей памяти в распределенном контейнере. Когда необходимо разделить информацию между сервлетами, работающими в распределенной среде, ее следует поместить в сеанс, сохранить в базе данных или установить в компоненте Enterprise JavaBeans. Атрибуты сеанса должны быть сериализуемыми, если они должны обрабатываться несколькими JVM, что является требованием для кластеризации. Можно сделать некоторые поля атрибута сеанса некластеризованными, объявив эти поля как переходные.

0
ответ дан Andreas 29 March 2019 в 16:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: