最新文章列表

今天发现rabbitMQ消息堆积

发现有三十多万的消息堆积在10的queue里没有被消费 记录一下查看问题的步骤: 1 jps 找出程序的PID 2 jstack ${PID} 查看线程dump,发现rabbitMQ的consumer worker线程block住了: "Thread-33" prio=10 tid=0x00002aaac8013000 nid=0x3264 waiting for mo ...
shixin42 评论(0) 有23331人浏览 2012-10-09 20:36

RabbitMQ源码分析 – 持久化机制

(注:分析代码基于RabbitMQ 2.8.2)  当消息需要持久化(相应队列首先必须是durable)或者因为内存吃紧,需要把消息转移到磁盘的时候就会触发持久化 ...
jzhihui 评论(3) 有14691人浏览 2012-08-21 09:34

安装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 ...
邢邢色色 评论(0) 有1866人浏览 2012-08-17 14:25

AMQP-基本概念篇

尝试试用了下rabbitmq ,比activemq 简单很多,客户端API很简洁。   先普及几个概念     AMQP 1.基本概念: AMQP(消息队列协议,Advanced Message Queuing Protocol)是一种消息协议 ,等同于JMS,但是JMS只是java平台的方案,且只是API级别的一个协议,AMQP是一个跨语言的协议。AMQP允许来自不同供应商的消息生产 ...
inter12 评论(0) 有3143人浏览 2012-07-17 17:26

RabbitMQ源码分析 - 队列机制

  (注:分析代码基于RabbitMQ 2.8.2) 当rabbit无法直接将消息投递到消费者时,需要暂时将消息入队列,以便重新投递。但是,将消息入队列并不意味着,就是将消息扔在一个队列中就不管了,rabbit提供了一套状态转换的机制来管理消息。   在rabbit中,队列中的消息可能会处理以下四种状态: alpha:消息内容以及消息在队列中的位置(消息索引)都保存在内存中; beta: ...
jzhihui 评论(0) 有13302人浏览 2012-07-09 10:10

rabbitmq 学习-14- 官方rabbitmq+spring进行远程接口调用

到http://github.com/momania/spring-rabbitmq下载其示例程序实行远程接口调用,主要在com.rabbitmq.spring.remoting下几个类:发布服务端(Server):RabbitInvokerServiceExporter.java接口调用客户端(Client):RabbitInvokerProxyFactoryBean.java,RabbitInv ...
a52071453 评论(0) 有3785人浏览 2012-07-07 09:08

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 ...
a52071453 评论(0) 有1750人浏览 2012-07-06 17:17

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 ...
a52071453 评论(0) 有14448人浏览 2012-07-06 17:17

rabbitmq 学习-积累

1,temporary queue(由server自动命名)在关闭连接时会自动从server端清除2,basicConsumer,basicGetchannel.basicConsume(queue, noAck, queueingConsumer);channel.basicGet(queue, noAck);noAck = true,不需要回复,接收到消息后,queue上的消息就会清除noAck ...
a52071453 评论(1) 有1337人浏览 2012-07-06 17:17

rabbitmq 学习-11- 几个发送接收消息的重要类

1,ChannelbasicPublish() 用来发送消息,接收返回消息是异步的basicGet() 接收一些简单的消息(Retrieving individual messages)basicConsumer() 用来指定一个Consumer去某个queue上去接收订阅的消息(Retrieving messages by subscription)2,RpcClient,RpcServerrab ...
a52071453 评论(0) 有1650人浏览 2012-07-06 17:17

rabbitmq 学习-10-channel 说明

rabbitmq java api 关于消息处理的一个重要的类是channelchannel 主要进行相关定义,发送消息,获取消息,事务处理等。channel可以在多线程中使用,但是在任何时候保证只有一个线程执行命令是很重要的,这在前面 rabbitmq 学习-6-rabbitmq基础 已经说的很清楚了。public interface Channel extends ShutdownNotifie ...
a52071453 评论(0) 有5275人浏览 2012-07-06 17:17

rabbitmq 学习-9- RpcClient发送消息和同步接收消息原理

本身使用RpcClient发送消息与同步接收消息的代码是很简单的,如下: RpcClient client = new RpcClient(channel, exchange, routingKey); String msg = "hello world!"; byte[] result = client.primitiveCall(msg.getBytes()); ...
a52071453 评论(0) 有3049人浏览 2012-06-30 16:44

rabbitmq 学习-8- Exchange Queue RoutingKey关系说明

String queue = channel.queueDeclare("test.queue").getQueue(); Rabbitmq Server 会有以下操作:   定义了一个queue,名称为test.queue     把queue的名称(test.queue) ...
a52071453 评论(0) 有3114人浏览 2012-06-30 16:44

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 ...
a52071453 评论(0) 有1263人浏览 2012-06-30 16:43

rabbitmq 学习-6-rabbitmq基础

rabbitmq的中文资料真少,和同事lucas经过两周的学习,讨论,测试,终于搞清了部分rabbitmq的知识,先总结一下 1,Connection   连接,与rabbitmq server建立的一个连接,由ConnectionFactory创建,虽然创建时指定 了多个server address,但每个connection只与一个物理的server进行连接,此连接是基于Socke ...
a52071453 评论(1) 有1749人浏览 2012-06-30 16:43

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 ...
a52071453 评论(0) 有1267人浏览 2012-06-29 14:33

rabbitmq 学习-4-初试2

RpcClient,RpcServer同步发送接收消息Channel.basicPublish,Channel.basicGet异步发送接收消息本例是一个简单的同步发送消息实例1,发送端public class Publish {    private static Connection connection;    static {        ConnectionParameters para ...
a52071453 评论(0) 有1072人浏览 2012-06-29 14:32

rabbitmq 学习-3-初试1

本例是一个简单的异步发送消息实例1,发送端@Test(groups = { "sunjun" })public class RabbitmqTest {    private static Connection connection;    static {        Co ...
a52071453 评论(0) 有1059人浏览 2012-06-29 14:32

rabbitmq学习1:hello world

rabbitMQ是一个在AMQP基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License 开源协议。   关于amqp可参考http://www.oschina.net/p/rabbitmq/  rabbitmq是一个消费的代理;通过生产者客户端生产一个信息,转送给消费者客户端;在这个传输过程中,根据你的需要可以经过路由、缓冲、持久化来得到这个消息。   先通过 ...
a52071453 评论(0) 有1370人浏览 2012-06-29 14:27

RabbitMQ源码分析 – 消息生命周期

(注:分析代码基于RabbitMQ 2.8.2) 当客户端通过basic.publish命令(AMQP定义)发布一个消息时,rabbit需要经过以下几个步骤处理消息: 1) 根据客户端传来 ...
jzhihui 评论(1) 有9976人浏览 2012-06-25 10:53

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics