ActiveMQ与Flex的结合,解决Crossdomain安全沙箱问题

这个问题其实去年就解决了,一直放在我QQ空间里,今天复制上来。


Flash链接Socket服务器,需要服务器给予认证,即我们常提到的crossdomain.xml,但是ActiveMQ是一个封装好了的(虽然开源,但是我实在不想动它的源代码)JMS消息服务器,ActiveMQ无法提供corssdomain.xml文件,因此需要第三方安全认证服务器来做这个事情。这就是我找了N年才找到的一个安全认证服务器:flash-policy-server-1.1,通过它的中介,Flash Client就能与ActiveMQ或者其他任何一款JMS消息服务器结合。其实现原理如下:



先启动ActiveMQ消息服务器监听订阅者注册,再启动安全认证服务器监听ActiveMQ 61616或Stomp协议的61613端口,当发现有Flash Client尝试链接ActiveMQ消息服务器时,返回给Flash Client一个crossdomain.xml语序其链接。这样就做到了抛弃BlazeDS链接ActiveMQ的方法,前端再也不需要配置那烦琐的BlazeDS配置文件,也无需引入其Jar包,更无需建立一个Java Web 工程,这样,就真正做到了Flash文件随处都能运行。

你可能感兴趣的:(Java)