асинхронные события через CFCs против cfthread? - PullRequest
1 голос
/ 28 июня 2011

Не могу поверить, я просто прочитал это: Использование шлюза событий CFML для асинхронных CFC

Насколько я знаю, поток также может быть использован для выполнения асинхронных событий. Тем не менее, у меня возникают проблемы с пониманием, когда я должен использовать поток против шлюза событий CFML? Какая цель или ситуация подходит для одной реализации стихов другой?

Есть ли какие-либо ограничения для асинхронных событий через CFC в ColdFusion Standard Edition? Я знаю, что есть ограничение в 2 максимальных пользовательских потока. Считается ли «Потоки обработки шлюза событий» на какое-либо ограничение?

1 Ответ

4 голосов
/ 28 июня 2011

Использование шлюзов событий для событий Asynch предшествует потокам, и я думаю, что функция "asynch cfc" была дополнительным побочным эффектом.

Если цель состоит в том, чтобы просто выполнить некоторую обработку для асинхронного завершения, я бы использовал потоки.

Настоящая цель шлюзов событий - это связь с внешними системами. Я широко использовал шлюзы событий, но для связи с очередями сообщений, XMPP, потоковым API-интерфейсом Twitter и рядом других неясных «корпоративных java-y» вещей.

Одна из проблем шлюзов событий заключается в том, что среда, в которой они работают, слегка отличается от запроса, отправляемого через http-сервер. Например, большинство переменных CGI не установлены или содержат необычные значения. У вас также нет доступа к сеансу пользователя и т. Д.

С CFTHREAD у вас гораздо больше контроля над этим.

Глядя на матрицу продуктов здесь:

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

Похоже, что в CF Standard вы получаете один шлюз одновременных событий, так что это, вероятно, не полезная функция в производственной среде. Я думаю, что он жестко привязан к одному потоку, независимо от того, что установлено администратором.

Итак, с CF Standard вы как бы ввернуты.

Еще одна причина использовать Railo или OpenBD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...