1

我们有一个非常奇怪的问题。我们有一个大型 CF 应用程序,最初是用 CF9 编写的,升级到 CF2016,然后升级到 CF2021。有一个发票作业每天作为计划任务运行。此开票作业执行许多步骤(创建、检查和支付)发票。在此过程中使用了许多组件(功能)。我们在 2021 年 11 月下旬启用了这台新服务器,自从我们这样做以来,到目前为止,发票工作已经出现了大约 4 到 5 次问题。

我看到的错误通常是这样的:

找不到 ColdFusion 组件或接口components/distributor.distribcontroller

我通常说,因为即使是“缺失”的组件也会发生变化,而且每次都不同。

我已经检查了每个组件是否有错误,所以不应该是这样,而且大多数时候这个发票工作运行良好。

CF2021 在 Ubuntu 20.04 LTS、4 CPU.4GB 内存上运行。除了这个发票工作之外,应用程序都很好(用户永远不会遇到缺少组件的情况)

我也不使用映射,我有一个自定义机制,我在 cfm 文件中设置组件路径并使用“请求”结构,例如:<cfset request.components.distributor = 'components/distributor'>在包含在的文件中Application.cfc- 它可能并不理想,但它只是它是几年前建造的,并且需要做太多的工作来改变它。(我想)。

有任何想法吗?任何帮助,将不胜感激。

4

1 回答 1

1

我有一个自定义机制

感觉像一个红旗。特别是因为它使用了request结构。

您要处理多少 CFC?是否值得看一下 WireBox 来处理 CFC 配置和创建?对于当前的问题可能有点矫枉过正,但值得研究。

https://wirebox.ortusbooks.com/

你在缓存组件路径吗?取消选中组件缓存可能会解决此问题。

您可以在 CFML Slack 工作区上发布此问题。一些 Adob​​e CF 工程师在那里闲逛。

于 2022-01-18T16:35:14.603 回答