Flex и Railo "из коробки"
Родион Быков - 07/28/2010
Как известно, для работы с Flex-приложениями, и Adobe Coldfusion и Railo используют BlazeDS. Наверное, нет проще пути для разработки серверной части Flex-приложений, чем разработка на CFML.
Для ограниченных в ресурсах проектов, использование Railo - отличный выход. Для простоты можно взять инсталлятор Railo, созданный Viviotech. В него включен преднастроенный BlazeDS, что позволяет в течение нескольких минут развернуть и начать создание серверной платформы Flex-приложения.
Рассмотрим инсталляцию под Windows.
После установки Railo+Tomcat можно соединить Railo и Apache, для этого пишем в httpd.conf:
LoadModule jk_module modules/mod_jk.so
JkLogFile "C:/Apache/logs/mod_jk.log"
JkWorkersFile "C:/Apache/conf/jk/workers.properties"
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMountCopy all
Потом настроить под Railo отдельный virtualhost в Apache с такими параметрами:
<VirtualHost *:80>
DocumentRoot "C:/inetpub/wwwroot"
ServerName railo-local
JkMount /*.cfm worker2
JkMount /*.cfml worker2
JkMount /*.cfc worker2
JkMount /flex2gateway/* worker2
JkMount /flashservices/gateway/* worker2
</VirtualHost>
При этот сам worker2 определяется в C:/Apache/conf/jk/workers.properties таким образом:
workers.tomcat_home="C:/railo/tomcat"
workers.java_home="C:/jdk1.6.0_20"
ps=\
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker2
worker.inprocess.type=jni
worker.list=worker2
worker.worker2.type=ajp13
worker.worker2.host=localhost
worker.worker2.port=8019
worker.worker2.lbfactor=50
worker.worker2.cachesize=10
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
worker.worker2.socket_timeout=300
worker.worker2.connection_pool_timeout=600
Ну и напоследок, прописываем настройки Flash Remoting (в Railo встроен BlazeDS, но его надо поднастроить) в C:/Railo/Tomcat/webapps/ROOT/WEB-INF/web.xml:
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>messageBrokerId</param-name>
<param-value>MessageBroker</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/flex2gateway/*</url-pattern>
</servlet-mapping>
Для желающих глубже разобраться с настройками BlazeDS, рекомендую этот раздел Railo Wiki.