2013-09-15 3 views
0

Я бег tomcat7 на Centos7 openmore кота, чем один процесс

Я должен ввести тот же экземпляр из более чем одного URL: один является балансировкой нагрузки, а второй прямым подключение к конкретному серверу для монитора: lb.mydomain.com и web1.mydomain.com

Проблема в том, что у меня есть объекты, которые обслуживают все соединения как однотонные (используют в качестве объектов кеша). В тот момент, когда я вхожу в tomcat из двух доменов, я вижу два объекта кэша, но только один tomcat-процесс (с использованием grep)

У меня также есть проблема, так как я использую JNI для загрузки такой библиотеки, которая может быть загружена только один раз.

Как это? Можно ли заблокировать tomcat7 только одному процессу (или экземпляру)?

ответ

1

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

Одна вещь, чтобы попытаться переместить кувшин, содержащий эти классы, под $CATALINA_HOME/lib вместо того, чтобы поместить его прямо под каталог webapp WEB-INF/lib. Таким образом, классы будут загружаться только один раз обычным загрузчиком классов Tomcat.

+0

Спасибо за ответ. Webapp развернут только один раз, но, кажется, работает в двух вариантах/прейпах для каждого домена. Я попытаюсь переместить lib, поскольку yuo предложил $ catalina_home – Arnold

 Смежные вопросы

  • Нет связанных вопросов^_^