ColdBox:在组件中找不到_actionExists方法

时间:2017-05-10 15:25:17

标签: coldfusion coldbox

运行ColdBox 4.2我们在reinit之后看到了这个错误,但只在一个特定的处理程序cfc上。如果我们重新启动几次,它最终会消失,这听起来像是竞争条件。

我们考虑直接执行extends="coldbox.system.EventHandler"而不是让框架在处理程序方法中混合,但后来我们开始看到另一个错误:

  

构建错误:myApp.handlers.admin.report - >控制器   init函数的参数是必需的,但没有传入.with   构造函数参数:{}

同样地,如果我们重新启动几次,直到我们得到一个事情完成烘焙,然后在初始中途发出请求之前,这个错误就会消失。

我们无法在非产品系统上重现这一点,可能是由于负载大幅降低。

有没有人遇到过类似的事情,想出了一种在负载下优雅地重新启动框架的方法?

1 个答案:

答案 0 :(得分:2)

我实际上设法在重新启动过程中合理可靠地重现竞争条件错误,并将其作为问题COLDBOX-307发布,几乎所有回复都没有在生产中使用fwreinit,这是正确的我们切换到使用我们自己的方法,在application.cfc中调用applicationStop,它修复了我们在使用fwreinit时遇到的问题。

使用applicationStop时需要注意的一点是,它不是线程安全的(可能不是正确的术语),这意味着所有当前正在运行的请求的应用范围将在被调用时再见你可以通过这种方式重新获得一些奇怪的错误。