Приложение Java EE со слишком большим количеством веб-сервисов

1

Я работаю с приложением Java EE, которое предоставляет более 150 контрактов веб-сервисов с несколькими операциями.

Я думаю, что это причина длительного времени публикации и OutOfMemory erros при обновлении приложения в контейнере.

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

Я работаю с спецификацией Java EE 5.

Разделение его на несколько военных файлов - хороший подход?

Возможно OSGi. Можно ли использовать OSGi на WAS 7? Это хорошее решение?


ADDED

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

Доступ к этому приложению осуществляется несколькими приложениями. Обновление одного веб-сервиса влияет на всех клиентов, которые используют другой веб-сервис. Мне хотелось бы узнать, как отделить этот EAR.

  • 0
    ваш контейнер будет работать в той же JVM, поэтому я думаю, что вам действительно нужна машина с большим объемом памяти и большей кучей JVM
  • 0
    Каков ваш текущий максимальный размер кучи? Используете ли вы встроенный в движок веб-службы или какой-либо третьей стороной?
Показать ещё 2 комментария
Теги:
osgi
web-services
java-ee

1 ответ

0

Если вы не запускаете JVM с флагом для разгрузки классов, каждое обновление добавит то же самое количество классов сверху. Это вызовет проблему OOM или более конкретную проблему PermSpace. Если вы не запустите свой сервер с правильными настройками, много памяти (вы правильно используете JEE-приложение?) И правильный размер для PermSpace и т.д., Вы всегда будете сталкиваться с этим. Часть OSGi также не решит ее. И это всегда будет зависеть от самого JVM, Oracle JVM поддерживает разгрузку классов, а начиная с 8 он больше не содержит PermSpace. Хотя в этот момент вам придется смотреть стек :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню