5

重複の可能性:
サーバーを再起動せずにアプリケーションを再起動しますか?

ColdfusionServerインスタンスをリセットせずにColdfusionApplication/ application.cfcをリセットするにはどうすればよいですか?私の記憶が正しければ、application.cfc内にreinit関数を作成したり、ファイルの名前を変更したりするなど、いくつかのトリックがあります。

4

3 に答える 3

14

いくつかの手順:

まず、すべてのアプリケーション初期化ロジックがCFCのOnApplicationStartメソッド内に含まれていることを確認します。ネストされた呼び出しがある場合、それは問題ありません。1回の呼び出しでアプリケーションを簡単に再初期化できる限り、作業ははるかに簡単になります。

次に、これはapplication.cfcのOnRequestStartメソッドで使用するコードです。

<cfif structKeyExists(url,'resetappvars')>
  <cfset OnApplicationStart() />
</cfif>

resetAppVarsの代わりに、コード化された値を自由に使用してください。

于 2009-12-14T17:04:14.937 に答える
7

CF9 Doc

アプリケーションを再起動するには、 ApplicationStop()を使用してアプリケーションを停止し 、このアプリケーションの任意のページへの次の要求によって自動的に開始されます。

ApplicationStop()はColdFusion9の新機能です。

于 2009-12-14T19:50:37.187 に答える
3

CF8を使用していて、「if reinit、then call onApplicationStart()」アプローチを使用している場合は、競合状態を回避するようにしてください。これは良い説明です:http://blog.bullamakanka.net/2009/12/coldfusion-shared-scopes-and-race.html

于 2009-12-14T21:44:27.927 に答える