7

単一のTomcatサーバー上に複数のgrailsアプリをデプロイしようとしていますが、次の疑問があります。

  1. メモリ使用量の観点から:一般的なgrailsライブラリを各アプリのwarファイルに配置するのではなく、shared / libの下に配置することで違いがありますか?それらの瓶のリストはありますか?
  2. もしそうなら、それらのjarファイルを「本番」環境のwarファイルにパッケージ化しないメカニズムはありますか?NetBeans6.7を使用しています。
  3. Tomcat5.5を使用しようとしています。代わりに6.0を使用することを推奨する経験はありますか?

ありがとう

4

2 に答える 2

5

共有されているライブラリを更新する場合は、それを使用しているすべてのアプリと互換性があることを確認する必要があるため、ベストプラクティスはライブラリを戦争状態に保つことだと思います。これは、grailsを使用して行い、一般的にはSpringを使用して行います。これにより、アップグレードするたびに戻って互換性テストを行う必要がなくなります。

また、tomcatはアプリケーションごとにクラスのインスタンスをロードするため、共通のクラスとして使用してメモリを節約することはないと思います。

参照:

2つのWebアプリにある場合、Tomcatは同じライブラリファイルをメモリに2回ロードしますか?

于 2010-02-01T01:42:35.103 に答える
5

1)jarをshared/libまたはcommon/libに配置すると、PermGenで必要なメモリの量が減る可能性があります。IMHOの最大の利点は、warファイルのアップロードがはるかに高速であることです。ただし、TripWirdが言ったことは、共有jarは、デプロイされたすべてのアプリを同じGrailsバージョンに結び付けることを覚えておいてください。アップグレードは「何もない」ゲームになります。

2)使用する場合

grails prod war --nojars

その後、すべてのjarファイルが戦争から除外されます。

于 2010-04-18T19:32:51.537 に答える