2

tomcat7にデプロイされたGrailsアプリケーションで本当に厄介な問題があります

基本的にサイト管理者がmessage.propertiesファイルを編集して、特定の言語のメッセージを必要に応じて変更できるようにするツールをWebサイトに作成しました。

すべての変更は、彼が編集したファイルに正常に保存されます。

開発中、STS(Soring Source Tools Suite; eclipsのようなもの)からWebサイトを実行しているときに、ブラウザーでWebサイトを更新すると、変更がすぐに表示されます。選択した言語のmessage.propertiesファイルに加えられたすべての変更は次のとおりです。正しく有効になります。

しかし、デプロイされたアプリケーション(同じコード、同じ構成、エラーなし)では、管理者は同じことを行い、以前と同じ方法でリソースを編集します。message.propertiesファイルは新しい値で正しく保存されますが、変更が表示されません。ブラウザで、tomcatを再起動しない限り、または数時間後に!

Tomcat 7のキャッシュを無効にしましたが、同じ問題が発生します。グーグルで4日以上過ごしましたが、すべての結果が私の問題に関連しているわけではなく、それらのほとんどは休止状態のキャッシュに関連しています。

だから、私の質問は単純に次のとおりです:

デプロイしたgrailsアプリケーションのmessage.propertiesファイルに移動したいので、message_en.propertiesと言い、default.welcome.message = Welcome to default.welcome.message = Hello、World!と言います。次に、任意のブラウザーを開いて、Hello、World!を参照してください。ようこその代わりに

助けてくれてありがとう=')

4

2 に答える 2

1

彼らが言うように、いくつかの大きな質問には非常に簡単な答えがあります!見つけた投稿に応じて、リソースエディターツールで、このコードをアクションに追加し、ブートスタープに他のいくつかの変更を加えました(回答の最後にあるリンクを参照)。

def messageSource
def saveMessageResources={
    .
    .
    .
    //my action logic
    .
    .
    .    
    messageSource.clearCache()
}

そしてそれはうまくいきました:)

参照: http: //jira.grails.org/browse/GPAPPENGINE-44

于 2012-10-01T13:25:08.630 に答える
0

デプロイされたアプリケーションは、再起動するまで変更を取得しません。変更は、便宜上、開発モードでのみオンザフライで再ロードされます。変更された部分(この場合はmessages.properties)のみが適用されるため、「ホットデプロイメント」と呼ばれます。

デプロイされたアプリケーションでメッセージを編集する場合は、代替ソリューションを適用できます。これは、メッセージをデータベースに保持するローカリゼーションプラグインです。

于 2012-10-01T10:22:09.067 に答える