3

grailsが起動時にデフォルトのプラグインのセットをロードすることを私は知りませんでした。run-appを使用して開発モードで実行している場合、これは明らかではありません。しかし、戦争を構築してアプリサーバーにドロップすると、メモリ使用量が非常に高くなり、次のログスニペットが表示されます。

31767 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [i18n] with version [2.1.0] loaded successfully 31770 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [logging] with version [2.1.0] loaded successfully 31771 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [core] with version [2.1.0] loaded successfully 32039 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [groovyPages] with version [2.1.0] loaded successfully 32053 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [urlMappings] with version [2.1.0] loaded successfully 32060 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [controllers] with version [2.1.0] loaded successfully 32076 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [domainClass] with version [2.1.0] loaded successfully 32079 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [dataSource] with version [2.1.0] loaded successfully 32547 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [cacheHeaders] with version [1.1.5] loaded successfully 32548 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [redis] with version [1.3.2] loaded successfully 32549 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [resources] with version [1.1.6] loaded successfully 32549 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [services] with version [2.1.0] loaded successfully 32551 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [servlets] with version [2.1.0] loaded successfully 32561 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [mimeTypes] with version [2.1.0] loaded successfully 32571 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [codecs] with version [2.1.0] loaded successfully 32579 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [filters] with version [2.1.0] loaded successfully 32579 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [validation] with version [2.1.0] loaded successfully 32583 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [scaffolding] with version [2.1.0] loaded successfully 32598 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [converters] with version [2.1.0] loaded successfully 32664 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [lesscssResources] with version [1.3.0] loaded successfully 32676 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [cachedResources] with version [1.0] loaded successfully 32684 [main] INFO org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager - Grails plug-in [zippedResources] with version [1.0] loaded successfully

特定のプラグインが必要ないため、それらのロードを無効にするにはどうすればよいですか?たとえば、scaffoldプラグインとdomainClassプラグイン(これはDB接続のないHTML 5アプリです)

ありがとう !

4

2 に答える 2

1

そのため、別の通信手段についてご連絡を差し上げたところ、削除を希望されていることを確認いたしました。

  1. ドメインクラス
  2. 情報源
  3. 検証
  4. 足場

データソースから始めましょう。このスレッドこのフォローアップ JIRAによると、単純に DataSource.groovy を削除 (または dataSource {} の内容を削除) してプラグインが起動しないようにすることができますが、Grails プロジェクトのリーダーであるGraeme Rocherはその点でもWeb サービスの外部に永続層がない場合でも、アプリケーションが正しく機能するためにメモリ内データ ソースが必要です。または、少なくともテストに合格するために。

私の知る限り、不要なプラグインを削除する唯一の方法は、grails.war.resources コールバックを使用することです (つまり、Grail に組み込まれている依存関係管理機能で処理する方法はありません)。コールバックを使用して任意の jar を削除する方法の例については、このリンクをたどってください。

于 2012-12-11T00:02:37.453 に答える
0

これらのプラグインは、プラグインの設定方法に応じて、application.properties または BuildConfig.groovy に含める必要があります。これらのプラグインの一部は、インストールしたプラグインの依存関係である可能性があります。

一般的なリソースを支援するための多くのプラグインとともに、リソース プラグインがあるようです。(Ziped、cached、lesscss、cacheHeaders ...) おそらく、これらすべてのプラグインが必要になるでしょう。

redis もあります。本番環境で使用していないプラグインが表示されていますか? プラグイン クロージャの側で BuildConfig に条件付きでいつでもロードできる場合は、次のようにします。

if (Environment.current in [Environment.DEVELOPMENT, Environment.TEST]) {
  compile ":build-test-data:2.0.2"
}

表示されているプラ​​グインは grails に組み込まれている可能性があるため、おそらく必要になるでしょう。Grails のベースは、適切なサイズのメモリ フットプリントです。必要なプラグインを条件付きで追加することはできますが、すべてを捨てることはできません。

于 2012-12-10T23:29:03.373 に答える