Frage

Ich bin über mehrere Grails apps auf einem einzigen Tomcat-Server, und ich habe folgende Zweifel zu implementieren:

  1. Im Hinblick auf die Speichernutzung: Macht es einen Unterschied, die gemeinsamen grails Libs setzen unter shared / lib, anstatt sie in jeder App Krieg Dateien setzen? Gibt es eine Liste dieser Gläser?
  2. Wenn ja, gibt es einen Mechanismus nicht, diese Gläser in der WAR-Datei für die „Herstellung“ -Umgebung zu verpacken? Ich bin mit NetBeans 6.7.
  3. Ich bin über Tomcat verwenden 5.5; keine Erfahrungen gibt es, dass statt 6,0 zu verwenden, empfehlen?

Danke

War es hilfreich?

Lösung

ich denke, Best Practices sind die Bibliotheken in den Krieg zu halten, denn wenn man eine Bibliothek aktualisieren, die dann gemeinsam genutzt werden Sie sicher, es ist kompatibel mit allen Ihren Anwendungen, die sie verwenden. Wir tun dies mit Grails und mit Feder im Allgemeinen auf diese Weise haben wir die Kompatibilität nicht gehen Sie zurück und machen jedes Mal testen wir aktualisieren.

Ich glaube auch, dass tomcat Lasten eine Instanz der Klasse pro Anwendung, so dass Sie nicht speichern auf das Gedächtnis, indem sie es als eine gemeinsame Klasse.

Siehe auch:

Does Tomcat zweimal die gleiche Bibliothek Datei in den Speicher geladen werden, wenn sie in zwei Web-Anwendungen sind?

Andere Tipps

1) setzt die Gläser in shared / lib oder common / lib könnte die Größe des Speichers in PermGen erforderlich reduzieren. IMHO der größte Vorteil ist, dass der Krieg Datei hochgeladen ist viel schneller. Aber bedenken Sie, was TripWird sagte, gemeinsame Gläser Verbindungen alle eingesetzten Anwendungen auf der gleichen Grails-Version. Ein Upgrade zu einem "nichts-oder-alles" Spiel.

2), wenn Sie mit

grails prod war --nojars

dann all JAR-Datei aus dem Krieg ausgeschlossen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top