|
1
3
听起来这可能是由于 服务器 正在关闭,而不仅仅是CF应用程序。我猜想,如果JVM已经处于关闭的过程中,那么Java类使用的资源可能在那时不可用。因此,OnApplicationAnd可能不是该代码的正确位置。 您可能希望查找添加 ShutdownHook . 我不是100%积极的,但我认为把清理代码放在那里,而不是在OnAppultEntEnter中可能允许Java对象在JVM进入其死亡阵痛阶段之前进行清理。 但是,尽管如此,一旦服务器关闭,“与网络上其他设备的连接”不会自动关闭吗? |
|
|
2
2
根据文档,“您不能使用此方法在用户页面上显示数据,因为它与请求没有关联。” 我认为“与请求无关”是关键。可能是Java对象只存在于请求线程中,而不存在于应用程序实例中。 也许你应该尝试使用onrequestend |
|
|
3
1
我的第一个想法是,当应用程序停止时,服务器不会真正停止…应用程序将停止,但服务器很容易继续运行。如果您有一个目录中有一个旧的application.cfm,并且该目录中只有一些平面的.cfm文件,那么人们可以请求这些cf页,并且它们不能与任何类型的应用程序上下文相关联。因此,实际上您没有运行任何应用程序,仍然可以提供大量的CF页面。当然,这不是人们通常设置CF服务器的方式,但他们是这样工作的。虽然我不知道他们是否已经在CF9中实现了它,但在未来的版本中有一些关于创建类似server.cfc的application.cfc的讨论。 我的第二个想法是,OnAppulalEntEnter方法导致特定错误“JavaLang.ILLalalStaseExp:Outlook正在进行中的关闭”的唯一方法是,如果您引用的Java对象是Java对象,这些Java对象在某种程度上与应用程序上下文有内在联系,例如您可能通过无文件C访问的对象。OldFusion.Server.ServiceFactory。但是你发布的代码看起来并不是这样的。 这是一个很长的过程,但是您可以尝试将testcrocrypto对象放在onApplicationEnd方法内的本地/temp变量中,然后从那里执行它。 很抱歉,我不能再这样了。 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 2 年前 |
|
|
András Takács · Python多线程错误 2 年前 |