通过CFCs和cfthread的异步事件?

时间:2011-06-28 06:55:20

标签: multithreading coldfusion cfc event-gateway

我简直不敢相信我:Using the CFML event gateway for asynchronous CFCs

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

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

1 个答案:

答案 0 :(得分:4)

使用Asynch事件的事件网关预先确定线程,我认为“asynch cfc”功能是一个额外的副作用。

如果目标仅仅是将一些处理分离出来以异步方式完成,我会使用线程。

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

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

使用CFTHREAD,您可以更好地控制它。

在此处查看产品矩阵:

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

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

所以,对于CF Standard,你有点紧张。

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