Интеграция CF & ActiveMQ? - PullRequest
       1

Интеграция CF & ActiveMQ?

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

Кто-нибудь пробовал интегрировать CF с ActiveMQ?Как прошел опыт?Стоит ли тратить время на создание нового решения?Я хотел бы узнать больше о том, как его использовать, какой ресурс вы мне можете указать?

update: Может ли ActiveMQ работать под JRun вместе с ColdFusion?Мы используем Standard Edition.

Спасибо

1 Ответ

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

Да, мы использовали ActiveMQ, на самом деле у нас сейчас есть проект для использования данных через шлюз событий ColdFusion с использованием ActiveMQ.

Примечание. Мы работаем с ColdFusion 9.0.1 и принимаем только сообщения.

Первое место, с которого стоит начать поиск, - это ваша собственная установка ColdFusion, которая поставляется сПример ActiveMQ!Посмотри в {cf_root}\gateway\docs.

Таким образом, чтобы получить настройки, вам необходимо:

Добавить файл jar ActiveMQ (activemq-all-5.5.0.jar) (доступен здесь ) в каталог CF {cf_root}/lib

Переместите файл examples.jar в {cf_root}\gateway\lib в {cf_root}/lib

Проверьте {cf_install}/gateway/docs/ActiveMQ_DeveloperGuide.pdf, который расскажет вам, как создать файл конфигурации.Это должно выглядеть примерно так: heartbeat.cfg пример:

debug=yes
topic=yes
# the line below needs to be changed
providerURL=tcp://xxx.yyy.com:61616
initialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory
connectionFactory=ConnectionFactory

# ActiveMQ requires fake JNDI entries to lookup topic names
contextProperties=topic.heartbeatTopic
topic.heartbeatTopic=com.xxx.yyy.public.heart_beat
destinationName=heartbeatTopic

Далее настройте шлюз событий:

  • GatewayID: MyTestActiveMQGateway
  • Тип шлюза: ActiveMQ(это опция для CF9)
  • Путь CFC: c:\foo\MyCFC.cfc (это CFC, который будет обрабатывать входящие данные)
  • Файл конфигурации: c:\foo\heartbeat.cfg

Ваш CFC должен выглядеть так:

<cfcomponent output="false">

    <cffunction name="onIncomingMessage" access="public" output="true">
        <cfargument name="data" type="struct" />

        <cflog log="application" text="message arrived!" />


    </cffunction>

</cfcomponent>

Запустите ваш шлюз событий, и вот, вы должны получать входящие сообщения или какую-то ошибку.

Надеюсь, это поможет!

...