Coldfusion 11 REST API 服务似乎意外停止工作

Coldfusion 11 REST API service seems to stop working unexpectedly

我的客户端使用 Windows Server 2012 R2 标准 OS 运行 IIS 和 Coldfusion 11。我通过 CF Admin 创建了一个 REST API 服务。我知道每次我在已注册的 API 服务文件夹中更改任何 CFC 时,API 都需要手动刷新。但有时,即使没有人对其进行任何更改,API 显然似乎停止工作并且出现 returns 404 错误。

我读了这个旧线程,它说: https://forums.adobe.com/thread/1487200

following situations also break a service

  • "clear template cache" button in administrator

  • restart of server

我在本地主机上重新启动了 CF 服务,尽管我的机器是 运行 CF10 和 Apache,客户端服务器是 IIS 上的 运行 CF11,但它并没有中断服务。由于这些差异,服务器上是否会出现不同的行为,我的意思是 CF11 REST API 服务是否需要在服务器或 CF 服务重启后刷新?我真的无法在生产服务器上重新启动 CF 服务器来测试它。

我还在下面的帖子中读到清除模板缓存问题将在 CF10 和 CF11 的更新中得到解决。 https://tracker.adobe.com/#/view/CF-3850183

如何检查客户端服务器上的 CF11 实例是否有此更新?

是否还有其他原因会导致服务中断?如果我能找出导致服务中断的确切原因,我很可能可以设计出一种自动刷新服务的方法。

谢谢。

更新

这在产品服务器上再次发生,我设法抓住了日志。 application.log 和 exception.log 是这样说的:

"Error","ajp-bio-8014-exec-210","03/30/17","09:16:12","The application api2 is modified and not refreshed.Refresh the application. The specific sequence of files included or processed is: C:\foo\bar\baz.cfc'' "

我检查了文件baz.cfc,它没有被修改。它最近一次修改是在几天前。

感谢@Miguel-F 的建议,我更新了 Coldfusion 并解决了这个问题。

此问题是由 Coldfusion 中的错误引起的,如果从模板缓存中删除任何服务组件,则 API 会停止响应并记录以下消息:

修改了应用程序 api2 而不是 refreshed.Refresh 应用程序。包含或处理的文件的具体顺序是:C:\foo\bar\baz.cfc'

您可以使用 CF 管理中的清除模板缓存按钮重现此问题。

我将 CF10 更新为 update22,将 CF11 更新为 update 11,此问题自 :) 后就再也没有发生过。