我的客户端使用Windows 2012 R2标准操作系统运行IIS和Coldfusion11。我已经通过CF创建了一个REST服务。我知道,每次在注册的API服务文件夹中对任何CFC进行更改时,API都需要手动刷新。但有时,API似乎停止工作,返回404错误,即使没有人对它做任何修改。
我读过一条旧的帖子,上面写道:https://forums.adobe.com/thread/1487200
以下情况也会导致服务中断
我在本地主机上重新启动了CF服务,虽然我的机器正在运行CF10和Apache,而且客户机的服务器在IIS上运行CF11,但它不会中断服务。由于这些差异,服务器上可能有不同的行为吗?我的意思是,CF11 restarts服务是否需要在服务器或CF服务重新启动后进行刷新?我不能在prod服务器上重新启动CF服务器来测试这一点。
我还在下面的线程中看到,清除模板缓存问题将在CF10和CF11的更新中得到解决。https://tracker.adobe.com/#/view/CF-3850183
如何检查客户端服务器上的CF11实例是否有此更新?
还有什么其他原因会导致服务崩溃吗?如果我能够找到导致服务崩溃的确切原因,我很可能会想出一种自动刷新服务的方法。
谢谢。
更新
这种情况再次发生在prod服务器上,我设法抓住了日志。application.log和exception.log是这么说的:
"Error“、"ajp-bio-8014-exec-210”、"03/30/17“、"09:16:12”、“应用程序api2被修改而不是refreshed.Refresh应用程序。包含或处理的文件的具体顺序是:C:\foo\bar\baz.cfc‘”。
我检查了文件baz.cfc,它没有被修改。最近一次修改是几天前。
发布于 2017-04-05 17:39:43
感谢@Miguel-F的建议,我更新了Cold聚变,这解决了这个问题。
这个问题是由Cold聚变中的一个bug引起的,如果从模板缓存中删除了任何服务组件,则API停止响应并记录以下消息:
应用程序api2被修改,而不是refreshed.Refresh应用程序。包含或处理的文件的具体顺序是: C:\foo\bar\baz.cfc‘
您可以使用CF管理中的清除模板缓存按钮重新创建此问题。
我将CF10更新为update22和CF11以更新11,并且从:)就没有出现这个问题。
https://stackoverflow.com/questions/43086053
复制相似问题