1

私の質問はこれに関連しているようです:

Coldfusionmemcached接続

しかし、私はそれを解決することができませんでした。

このコードをapplication.cfmに配置した場合:

<cfif not IsDefined("application.memcached")>   
  <cfset application.memcachedFactory = createObject("component","memcachedFactory").init("192.168.2.91:11211")>
  <cfset application.memcached = application.memcachedFactory.getmemcached()>
</cfif>

このページは、おそらく270回の呼び出しで機能します。その後、「オブジェクトインスタンス化例外」というエラーで失敗し始めます。コードはmemcachedと適切に通信しています。データの送受信ができます。Javaが何かを使い果たしているようです..スレッド、ソケット、ある種のハンドル。私はJavaについてほとんど知らず、行き詰まっています。

4

1 に答える 1

3

これは私には間違っているようですドン。最初の呼び出しの後にこのコードが再び実行されるのはなぜですか?1回実行する必要があります。その後、オブジェクトへの参照があります。application.cfmの残りの部分はどのように見えますか?「名前」が付いたcfapplicationタグを追加しましたか?

アプリケーションの「名前」を(cfapplicationタグまたはapplication.cfcの「this.name」を介して)設定できない場合、「application.x」変数は通常の変数と同じように扱われます。ページリクエストが終了すると、「消えて」、次のリクエストでオブジェクトを再度インスタンス化する必要があります。

この場合の「isDefined()」の目的は、1回だけ実行されることを保証することです。つまり、再インスタンス化せずに何度も使用できるシングルトン(単一参照)を提供します。あなたはアプリケーションの「内部」ではないようです。

于 2012-06-08T16:18:41.630 に答える