1

我不敢相信我刚刚读到这个:Using the CFML event gateway for asynchronous CFCs

据我所知,线程也可用于执行异步事件。但是,我无法理解何时应该使用线程与 CFML 事件网关?什么目的或情况适合于一种实现而不是另一种?

在 ColdFusion 标准版中通过 CFC 对异步事件有任何限制吗?我知道 cfthread 限制最多 2 个自定义线程。“事件网关处理线程”是否计入任何限制?

4

1 回答 1

4

为异步事件使用事件网关早于线程,我认为“异步 cfc”功能是一个额外的副作用。

如果目标只是分离一些异步完成的处理,我会使用线程。

事件网关的真正意义在于与外部系统进行通信。我广泛使用了事件网关,但用于与消息队列、XMPP、流式 Twitter API 以及许多其他晦涩的“企业 java-y”事物进行通信。

事件网关的问题之一是它们运行的​​环境与通过 http 服务器发送的请求略有不同。例如,大多数 CGI 变量未设置或包含异常值。您也无权访问用户的会话等。

使用 CFTHREAD,您可以对此进行更多控制。

在这里查看产品矩阵:

http://www.adobe.com/products/coldfusion/pdfs/cf9_feature_comparison_matrix_ue.pdf

似乎在 CF 标准中,您会获得一个同步事件网关,因此它在生产环境中可能不是一个有用的功能。我认为它被硬锁定到单个线程,无论管理员中设置了什么。

所以,对于 CF 标准,你有点搞砸了。

使用 Railo 或 OpenBD 的另一个原因。

于 2011-06-28T16:07:07.827 回答