欢迎来到天天文库
浏览记录
ID:22875216
大小:257.61 KB
页数:11页
时间:2018-11-01
《即时聊天技术实现方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、即时聊天技术实现方案炎炎互动数码科技有限公司蔡鑫即时聊天技术实现方案编写:蔡鑫日期:2012年10月12日即时聊天技术实现方案炎炎互动数码科技有限公司蔡鑫ActiveMQ简介1.什么是ActiveMQActiveMQ是Apache出品,最流行的,能力强劲的开源消息中间件,应用中引入中间件的好处是减少服务器之间的依赖关系,提高扩展性,在没有引入消息中间件的情况可能出现如下:出现服务器多依赖的情况,不方面扩展,而引入消息中间件后如从图中可以看出引入消息中间件后,每个服务器只依赖于消息中间件,而且在应用中这种依赖关系式一种弱依赖关系即时聊天技术实现方案炎炎互动数
2、码科技有限公司蔡鑫1.ActiveMQ的松耦合介绍松耦合应用在分布式应用设计中更具优势;也是对分布式应用至关重要的。2.ActiveMQ的特性n多种语言和协议编写客户端。语言:Java、C、C++、C#、Ruby、Perl、Python、PHP。应用协议:OpenWire、StompREST、WSNotification、XMPP、AMQPn完全支持JMS1.1和J2EE1.4规范(持久化,XA消息,事务)n对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性n通过了常见J2EE服务器(如G
3、eronimo、JBoss4、GlassFish、WebLogic)的测试,其中通过JCA1.5resourceadaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE1.4商业服务器上n支持多种传送协议:in-VM、TCP、SSL、NIO、UDP、JGroups、JXTAn支持通过JDBC和journal提供高速的消息持久化n从设计上保证了高性能的集群,客户端-服务器,点对点n支持Ajaxn支持与Axis的整合n可以很容易得调用内嵌JMSprovider,进行测试即时聊天技术实现方案炎炎互动数码科技有限公司蔡鑫ActiveMQ安装和
4、下载1.安装n在http://activemq.apache.org/download.html下载5.4.0发行包,解压到需要安装ActiveMQ的文件夹,记为/path/to/activemq。nunix环境activemq文件夹需要执行权限,执行如下命令 chmod-R755/path/to/activemq 2.启动nwindow环境运行/path/to/activemq/bin/activemq.batnunix环境运行/path/to/activemq/bin/activemq3.测试ActiveMQ默认使用的TCP连接端口是61616,通过查
5、看该端口的信息可以测试ActiveMQ是否成功启动nwindow环境运行 netstat-an
6、find"61616"nunix环境运行netstat-an
7、grep61616即时聊天技术实现方案炎炎互动数码科技有限公司蔡鑫1.监控ActiveMQ5.0版本默认启动时,启动了内置的jetty服务器,提供一个demo应用和用于监控ActiveMQ的admin应用。admin:http://127.0.0.1:8161/admin/demo:http://127.0.0.1:8161/demo/ActiveMQ基础实例2.消息生产者//通过用户密码URL创建接
8、口工厂ConnectionFactoryfactory=newActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");//通过连接工厂创建一个新的连接Connectionconnection=factory.createConnection();//通过连接接口创建一个回话Sessionsession=connection.createSession(false,Session
9、.AUTO_ACKNOWLEDGE);//根据回话接口创建有关的目标接口Destinationdestination=session.createQueue("MrYan");//回话接口再根据目标接口创建一个消息生产者接口MessageProducermessageProducer=session.createProducer(destination);//调用回话创建一个文本消息Messagemessage=session.createTextMessage("Iamveryhappyeither....");//使用消息生产者接口将消息传送至Acti
10、veMQ服务器messageProducer.send(messa
此文档下载收益归作者所有