2011-06-28 58 views
1

我不能相信我剛剛讀到這個:Using the CFML event gateway for asynchronous CFCs通過CFC與cfthread的異步事件?

據我所知,一個線程也可以用來做異步事件。但是,我無法理解何時應該使用線程與CFML事件網關?什麼目的或情況適用於一種執行方式與另一種執行方式?

通過ColdFusion標準版中的CFC對異步事件進行的任何限制?我知道有2個最大自定義線程的cfthread限制。 「事件網關處理線程」計入任何限制嗎?

回答

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標準,你會得到一個同步事件的網關,所以它可能不是在生產環境中一個非常有用的功能。無論管理員設置什麼,我都認爲它可以鎖定到單個線程。

所以,CF標準,你有點擰。

只是使用Railo或OpenBD的另一個原因。

+2

很好的答案。現在我們有線程,我不推薦使用異步CFML執行網關。 –