我的问题似乎与这个问题有关:
Coldfusion memcached connections
然而,我一直无法解决它。如果我将此代码放在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知之甚少,而且卡住了。
答案 0 :(得分:3)
这对我来说似乎是错的。为什么这个代码会在第一次调用后再次运行?它应该运行1次,之后你可以引用你的对象。 application.cfm的其余部分是什么样的?您是否添加了带有“名称”的cfapplication标记?
如果您未能设置应用程序“name”(通过cfapplication标记或application.cfc中的“this.name”),则“application.x”变量将被视为常规变量。在页面请求结束后,它将“消失”并要求下一个请求再次重新对象。
在这种情况下,“isDefined()”的目的是确保它只运行一次 - 为您提供一个单独的(单个引用),您可以反复使用它而不需要重新实例化它。听起来你并不是一个应用程序“内部”。