Объект (ы) разделяемой памяти управляемого сервера Weblogic 10.3 - PullRequest
1 голос
/ 16 июля 2010

Мы используем Oracle Weblogic 10.3 в качестве сервера приложений.У нас есть несколько модулей, которым требуется доступ к объекту (содержит несколько HashMaps), который является общим для управляемого сервера.Этот объект будет заполняться через какой-то другой процесс ежедневно.Мы не хотим иметь копии этого в каждом приложении, из-за большого количества приложений и ограниченного объема памяти.Мы не можем объединить их в одно ухо, так как индивидуум (войны) нужно будет обновлять по разным графикам.

Я попытался создать дополнительный пакет и сослаться на него в двух модулях.Доступный класс просто оборачивает вызовы в одиночный объект.Но что происходит, для каждого приложения создается отдельный синглтон, что побеждает цель.

Похоже, что классы запуска были устаревшими где-то после или после 8.1, а теперь ушли в 10.3.

Есть ли способ?чтобы этот объект и другой код «жили» выше уровня приложения / модуля, имели только одну копию для каждого jvm / управляемого сервера и были доступны для всех модулей, развернутых на одном и том же управляемом сервере?

Бонусные баллы, еслиРешение также будет работать в Tomcat.

1 Ответ

0 голосов
/ 16 июля 2010

Похоже, что классы запуска были объявлены устаревшими где-то около или после 8.1, а теперь пропали в 10.3.

Действительно. Но они «заменены» API-интерфейсом событий жизненного цикла приложения , поэтому они все еще там.

Есть ли способ, чтобы этот объект и другой код «работали» выше уровня приложения / модуля, имели только одну копию для каждого jvm / управляемого сервера и были доступны для всех модулей, развернутых на одном и том же управляемом сервере?

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

...