本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- wy_19921005
- benladeng5225
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- xiangjie88
- wiseboyloves
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- lemonhandsome
- jh108020
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- daizj
- hanbaohong
- 喧嚣求静
- johnsmith9th
- silverend
- kingwell.leng
- lchb139128
- kristy_yy
- lich0079
- jveqi
- java-007
- sunj
- yeluowuhen
最新文章列表
安装RabbitMQ实录(单机版)
最近在调研RabbitMQ,先简单装一个单机版的玩玩,记录如下:
1. 安装erlang虚拟机
Rabbitmq基于erlang语言开发,所以需要安装erlang虚拟机,源码编译一个最新的版本:
wget http://www.erlang.org/download/otp_src_R15B01.tar.gz
tar zxvf otp_src_R15B01.tar.gz
...
AMQP-基本概念篇
尝试试用了下rabbitmq ,比activemq 简单很多,客户端API很简洁。
先普及几个概念
AMQP
1.基本概念:
AMQP(消息队列协议,Advanced Message Queuing Protocol)是一种消息协议 ,等同于JMS,但是JMS只是java平台的方案,且只是API级别的一个协议,AMQP是一个跨语言的协议。AMQP允许来自不同供应商的消息生产 ...
RabbitMQ源码分析 - 队列机制
(注:分析代码基于RabbitMQ 2.8.2)
当rabbit无法直接将消息投递到消费者时,需要暂时将消息入队列,以便重新投递。但是,将消息入队列并不意味着,就是将消息扔在一个队列中就不管了,rabbit提供了一套状态转换的机制来管理消息。
在rabbit中,队列中的消息可能会处理以下四种状态:
alpha:消息内容以及消息在队列中的位置(消息索引)都保存在内存中;
beta: ...
rabbitmq 学习-14- 官方rabbitmq+spring进行远程接口调用
到http://github.com/momania/spring-rabbitmq下载其示例程序实行远程接口调用,主要在com.rabbitmq.spring.remoting下几个类:发布服务端(Server):RabbitInvokerServiceExporter.java接口调用客户端(Client):RabbitInvokerProxyFactoryBean.java,RabbitInv ...
rabbitmq 学习-13- 发送接收消息示例-2
Basic RPC
As a programming convenience, the Java client API offers a class RpcClient which uses a temporary reply queue to provide simple RPC-style communication facilities via AMQP.
The class doesn ...
rabbitmq 学习-12- 发送接收消息示例-1
这里是同步发送消息,异步接收消息接收有两种方式:http://www.rabbitmq.com/api-guide.html#getting
Retrieving individual messages(channel.basicGet)
To retrieve individual messages, use Channel.basicGet. The returned value is an ...
rabbitmq 学习-积累
1,temporary queue(由server自动命名)在关闭连接时会自动从server端清除2,basicConsumer,basicGetchannel.basicConsume(queue, noAck, queueingConsumer);channel.basicGet(queue, noAck);noAck = true,不需要回复,接收到消息后,queue上的消息就会清除noAck ...
rabbitmq 学习-11- 几个发送接收消息的重要类
1,ChannelbasicPublish() 用来发送消息,接收返回消息是异步的basicGet() 接收一些简单的消息(Retrieving individual messages)basicConsumer() 用来指定一个Consumer去某个queue上去接收订阅的消息(Retrieving messages by subscription)2,RpcClient,RpcServerrab ...
rabbitmq 学习-10-channel 说明
rabbitmq java api 关于消息处理的一个重要的类是channelchannel 主要进行相关定义,发送消息,获取消息,事务处理等。channel可以在多线程中使用,但是在任何时候保证只有一个线程执行命令是很重要的,这在前面 rabbitmq 学习-6-rabbitmq基础 已经说的很清楚了。public interface Channel extends ShutdownNotifie ...
rabbitmq 学习-9- RpcClient发送消息和同步接收消息原理
本身使用RpcClient发送消息与同步接收消息的代码是很简单的,如下:
RpcClient client = new RpcClient(channel, exchange, routingKey);
String msg = "hello world!";
byte[] result = client.primitiveCall(msg.getBytes());
...
rabbitmq 学习-8- Exchange Queue RoutingKey关系说明
String queue = channel.queueDeclare("test.queue").getQueue();
Rabbitmq Server 会有以下操作:
定义了一个queue,名称为test.queue
把queue的名称(test.queue) ...
rabbitmq 学习-7-rabbitmq 支持场景
What messaging scenarios are supported by AMQP and RabbitMQ?
AMQP is a very general system that can be configured to cover a great variety of messaging middleware use-cases. For example:
Poin ...
rabbitmq 学习-6-rabbitmq基础
rabbitmq的中文资料真少,和同事lucas经过两周的学习,讨论,测试,终于搞清了部分rabbitmq的知识,先总结一下
1,Connection
连接,与rabbitmq server建立的一个连接,由ConnectionFactory创建,虽然创建时指定 了多个server address,但每个connection只与一个物理的server进行连接,此连接是基于Socke ...
rabbitmq 学习-5-server管理
RabbitMQ Server Administrator's Guide
http://www.rabbitmq.com/admin-guide.html#installation
1, Rabbitmq DB
第一次启动,会检查是否有数据库,没有则创建 一个db,存放在
C:\Documents and Settings\Administrator\Application Dat ...
rabbitmq 学习-4-初试2
RpcClient,RpcServer同步发送接收消息Channel.basicPublish,Channel.basicGet异步发送接收消息本例是一个简单的同步发送消息实例1,发送端public class Publish { private static Connection connection; static { ConnectionParameters para ...
rabbitmq 学习-3-初试1
本例是一个简单的异步发送消息实例1,发送端@Test(groups = { "sunjun" })public class RabbitmqTest { private static Connection connection; static { Co ...