2 u011443326 u011443326 于 2015.06.09 09:31 提问

hornetq 消息阻塞的问题=

使用hornetq队列的时候,总是会出现阻塞的情况,
我是使用线程池起了15个线程,每秒种进行拿取一次,但是在进行一段时间后总是会多出来一个消费者图片说明
然后就不能拿取到消息了,求大神指导

2个回答

LogicTeamLeader
LogicTeamLeader   2015.06.09 10:25

源代码。。。。。。。。。。。。。。。。

sxjiangdongqin
sxjiangdongqin   2015.06.09 21:51

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">
<!--

192.168.0.215
11212
255.255.255.0
9876
2000

-->
HornetQ.main.config

 <bindings-directory>F:/hornetq/data/messaging/bindings</bindings-directory>

 <large-messages-directory>F:/hornetq/data/messaging/largemessages</large-messages-directory>

 <paging-directory>F:/hornetq/data/messaging/paging</paging-directory>

<!--离线消息固化到文件-->
<journal-directory>F:/hornetq/journal</journal-directory>
<journal-min-files>10</journal-min-files>
<!-- 缓存大小 -->
<id-cache-size>9000</id-cache-size>
<jmx-management-enabled>true</jmx-management-enabled>   
<!-- 消息计数器 -->
<message-counter-enabled>true</message-counter-enabled>
<!-- keep history for a week -->
<message-counter-max-day-history>7</message-counter-max-day-history>            
<!-- sample the queues every minute (60000ms) -->
<message-counter-sample-period>60000</message-counter-sample-period>
<persistence-enabled>true</persistence-enabled>    
<!-- 通知将从JMS话题 "notificationsTopic"上接收 
<management-notification-address>jms.queue.notificationsQueue</management-notification-address>
--> 

   <!--不配置这个的话会有一个安全警告-->
HORNETQ.CLUSTER.ADMIN.USER
test65525

<!-- Connectors -->
<connectors>
    <connector name="connector-netty">
        <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory
        </factory-class>
        <param key="use-nio" value="true" />
        <param key="host" value="localhost"/>
        <param key="port" value="11212" />
    </connector>

    <!-- SSL connector -->
    <connector name="netty-ssl-connector">
     <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
     <param key="host" value="localhost"/>
     <param key="port" value="5500"/>
     <param key="ssl-enabled" value="true"/>
     <param key="key-store-path" value="F:/ssl/keystore"/>
     <param key="key-store-password" value="test"/>
  </connector>
</connectors>

<!-- Acceptors -->
<acceptors>
    <acceptor name="netty">
        <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory
        </factory-class>
        <!--  -->
        <param key="use-nio" value="true" />
        <param key="host" value="0.0.0.0,127.0.0.1,localhost"></param>
        <param key="port" value="11212" />
    </acceptor>

    <!-- SSL connector -->
  <acceptor name="netty-ssl-acceptor">
     <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
     <param key="host" value="localhost"/>
     <param key="port" value="5500"/>
     <param key="ssl-enabled" value="true"/>
     <param key="key-store-path" value="F:/ssl/keystore"/>
     <param key="key-store-password" value="test"/>
     <param key="trust-store-path" value="F:/ssl/truststore"/>
     <param key="trust-store-password" value="test"/>
  </acceptor>
</acceptors>

<!-- Other config -->
<address-settings>
    <address-setting match="jms.queue.#">
        <redelivery-delay>5000</redelivery-delay>
        <!-- 没有导致远程queue查找不到 -->
        <expiry-address>jms.queue.expiryQueue</expiry-address>
        <!-- 没有导致远程queue查找不到 -->
        <last-value-queue>true</last-value-queue>
        <max-size-bytes>100000</max-size-bytes>
        <page-size-bytes>20000</page-size-bytes>
        <redistribution-delay>0</redistribution-delay>
        <address-full-policy>PAGE</address-full-policy>
        <!-- 死信地址-->
        <send-to-dla-on-no-route>true</send-to-dla-on-no-route>
        <dead-letter-address>jms.queue.deadLetterQueue</dead-letter-address>
        <max-delivery-attempts>3</max-delivery-attempts>
    </address-setting>
</address-settings>

<security-settings>
    <!--security for example queue-->
    <security-setting match="jms.queue.#">
        <permission type="createDurableQueue" roles="guest" />
        <permission type="deleteDurableQueue" roles="guest" />
        <permission type="createNonDurableQueue" roles="guest" />
        <permission type="deleteNonDurableQueue" roles="guest" />
        <permission type="consume" roles="guest" />
        <permission type="send" roles="guest" />
    </security-setting>
</security-settings>

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
HornetQ消息中间件
HornetQ是一个支持集群和多种协议,可嵌入、高性能的异步消息系统。HornetQ完全支持JMS,HornetQ不但支持JMS1.1 API同时也定义属于自己的消息API,这可以最大限度的提升HornetQ的性能和灵活性。    一、对于push  pull的分析如下: push pull 描述 服务端主动发送数据给客户端
HornetQ学习系列(1)
最近工作中遇到了个涉及HornetQ的问题,之前对这一块只是有个大概了解,没有深入学习,正好借助这个机会把它研究一下。Hornet(大黄蜂)Q(Queue),大黄蜂队列,想想是不是很炫酷^_^。 问题1:什么是HornetQ? HornetQ是一个消息的中间件,异步的消息系统,100%开源,可独立部署,也可以集成到类如Jboss之类的框架中。
HornetQ学习系列(3)
今天看下如何使用HornetQ,主要包括如何启动,停止HornetQ服务以及如何配置一些参数。 问题1: HornetQ服务怎么启动和停止? HornetQ的目录结构如下,在bin目录下有run.bat(Windows),run.sh(Linux)启动服务,stop.bat(Windows),stop.sh(Linux)停止服务
谁才是最快的消息队列:ActiveMQ, RabbitMQ, HornetQ, QPID
Y坐标是处理时间,越低表示性能越好. Lately I performed a message queue benchmark, comparing several queuing frameworks (RabbitMQ, ActiveMQ…). Those benchmarks are part of a complete study conducted by Adina Miha
jboss hornetq jms 用户文档
HornetQ 2.1用户手册 Putting the buzz in messaging Table of Contents 1. 法律声明 2. 前言 3. 项目信息 3.1. 软件下载 3.2. 其它相关信息 4. 消息的相关概念 4.1. 消息相关的概念 4.2. 消息的种类 4.2.1. 消息队列模式 4.2.2. 消息
单独HornetQ启动HornetQ
启动HornetQ打开命令行,进入到HornetQ的bin目录下,执行./run.sh (或者在Windows下 run.bat)。 在linux环境下可执行nobup ./run.sh。配置项默认情况下,启动和停止脚本都使用config/stand-alone/non-clustered 下的配置文件。要使用不同的配置目录,可运行./run.sh ../config/stand-alone/cl
activeMQ消息阻塞 丢失 假死--架构
jms有三部分组成。生产者,中间件(broker),消费者 , 生产者,中间件(broker),消费者  JMSDeliveryMode  NON_PERSISTENT 非持久化 表示消息发往JMS消息服务器之后,保存在内存中,不做持久化;  PERSISTENT 持久化 消息发往JMS消息服务器之后,持久化数据。以保证消息服务器拓机造成的消息丢失。 ======
hornetq-2.1.0.CR1 用户手册
HornetQ拥有超高的性能,HornetQ在持久化消息方面的性能可以轻易的超于其它常见的非持久化消息引擎的性能。当然,HornetQ的非持久化消息的性能会表现的更好! HornetQ完全使用POJO,纯POJO的设计让HornetQ可以尽可能少的依赖第三方的包。从设计模式来说,HornetQ这样的设计入侵性也最小。HornetQ既可以独立运行,也可以与其它Java应用程序服务器集成使用。 HornetQ拥有完善的错误处理机制,HornetQ提供服务器复制和故障自动转移功能,该功能可以消除消息丢失或多个重复信息导致服务器出错。 HornetQ提供了灵活的集群功能,通过创建HornetQ集群,您可以享受到到消息的负载均衡带来的性能提升。您也可以通过集群,组成一个全球性的消息网络。您也可以灵活的配置消息路由。 HornetQ拥有强大的管理功能。HornetQ提供了大量的管理API和监控服务器。它可以无缝的与应用程序服务器整合,并共同工作在一个HA环境中
RabbitMQ使用不当导致的队列堵塞问题及解决之道
本接盘侠接手的一个服务使用RabbitMQ和其他服务进行消息传输。我们发现,有时候RabbitMQ中明明有元素,但是不会回调DefaultConsumer接口的handleDelivery函数,于是队列无法消化,队列越堵越长。通过jstack查看,发现rabbitmq消费者线程堵塞在socketinputstream的socketRead0函数。通过搜索,发现这个文章:《Queue consu
HornetQ使用手册
下载hornetq并解压,启动bin目录下边的run.bat启动hornetQ服务。 demo中的"springIntegration" 通过listener的方式实现了异步模式。 demo中的"topic" C端通过receive()方法得到消息,实现了同步模式. 一、下面根据这两种模式的例子做一下配置说明: (1)topic  (同步): Step1. 创建一个初始上下文执行目录