/ / Jak powinienem wdrożyć wiele aplikacji internetowych (używając tych samych słoików stron trzecich) na tym samym kocurku, aby użyć minimalnej pamięci RAM - wiosna, hibernacja, kocur, aplikacje internetowe, moduł ładujący

Jak mam wdrożyć wiele webappów (używając tych samych słojów stron trzecich) na tym samym tomcat, aby używać minimalnej pamięci RAM - wiosna, hibernacja, tomcat, aplikacje internetowe, moduł ładujący klasy

Będę miał wiele aplikacji internetowych. Wszystkie aplikacje internetowe oparte na Javie i korzystające z Spring / hibernacji itp. Jeśli umieściłem wszystkie słoiki stron trzecich w każdym pliku wojny (odpowiadającym każdej aplikacji internetowej); byłby ogromny ślad pamięci!

Kiedy słoiki stron trzecich (jak wiosna / hibernacja)są wspólne dla wszystkich aplikacji internetowych; jaki jest najlepszy sposób na minimalne zużycie pamięci? Jedną z opcji, o której mógłbym pomyśleć, jest umieszczenie słoików stron trzecich w Tomcat / lib, aby można je było udostępniać w wielu aplikacjach internetowych.

Czy istnieje inny lepszy sposób?

Odpowiedzi:

3 dla odpowiedzi № 1

Wydaje mi się, że mylisz pamięć (RAM) z pamięcią dyskową.

Jeśli chcesz zminimalizować wykorzystanie miejsca na dysku, to tak, możesz umieścić pliki jar we wspólnej lokalizacji - zobacz dokumentację na http://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html#Shared_Library_Files

To nic nie da zużywania pamięci - każda aplikacja ładuje klasy, których potrzebuje pod własnym modułem ładującym.


0 dla odpowiedzi nr 2

Tak, moduł ładujący klasy Common Tomcat załaduje jesłoiki we wspólnej bibliotece Tomcata tylko raz, ponieważ wszystkie aplikacje internetowe korzystają z tego samego wspólnego modułu ładującego klasy. Jednak niektóre słoiki nie działają z powodu różnych problemów. Więc musisz spróbować.