相关疑难解决方法(0)

JBoss HornetQ:为慢速消费者设置消费者窗口大小

我想设置<consumer-window-size/>0.这似乎是另一个问题(具有多个消费者的JMS队列)的答案,并在本文的第17.1.1节中进行了描述.我使用JNDI检索连接工厂.我hornetq-jms.xml看起来像这样:

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

  <connection-factory name="ConnectionFactory">
    <connectors>
      <connector-ref connector-name="netty-connector"/>
    </connectors>
    <entries>
      <entry name="ConnectionFactory"/>       
    </entries>
    <consumer-window-size>0</consumer-window-size>
  </connection-factory>

  <queue name="my.qeue">  
    <entry name="/queue/test"/>  
  </queue>   
</configuration>
Run Code Online (Sandbox Code Playgroud)

该部分<connection-factory/>是从上面的链接复制和粘贴,但我收到错误:

DEPLOYMENTS IN ERROR:
Deployment "org.hornetq:module=JMS,name="ConnectionFactory",
  type=ConnectionFactory" is in error due to the following reason(s):
  HornetQException[errorCode=104 message=There is no connector with
  name 'netty-connector' deployed.]
Run Code Online (Sandbox Code Playgroud)

这可能与JBoss-6相关,因为在其他环境中这似乎有效:用HornetQ强制消息顺序

java hornetq jboss6.x

7
推荐指数
1
解决办法
3711
查看次数

新创建的客户端是否知道hornetq中的旧消息?

我在一个消费者的hornetQ中创建了会话,然后我使用producer在队列中添加了4个消息.在此之后,我创造了新的消费者.

这位消费者会不会了解旧消息?

如果不是,是否可以在XML中配置它?

我创建了一个无法获取以前消息的新消费者.我只想确认这种行为是否正确?我没有在文档中找到任何帮助.

以下是代码段:

TextMessage receivedMessage = (TextMessage)consumer.receive(); 
receivedMessage.acknowledge();
System.out.println("Got order: " + receivedMessage.getText());
//consumer.close();
MessageConsumer newConsumer = session.createConsumer(orderQueue);
receivedMessage = (TextMessage)newConsumer.receive();
receivedMessage.acknowledge();  
System.out.println("Got order: " + receivedMessage.getText());
Run Code Online (Sandbox Code Playgroud)


如果我取消注释consumer.close()行,它可以正常工作.
我的hornetq-jms.xml

<connection-factory name="NettyConnectionFactory">
      <xa>true</xa>
      <connectors>
         <connector-ref connector-name="netty"/>
      </connectors>
      <entries>
         <entry name="/XAConnectionFactory"/>
      </entries>
       <consumer-window-size>0</consumer-window-size>
   </connection-factory>

   <connection-factory name="NettyConnectionFactory">
      <xa>false</xa>
      <connectors>
         <connector-ref connector-name="netty"/>
      </connectors>
      <entries>
         <entry name="/ConnectionFactory"/>
      </entries>
       <consumer-window-size>0</consumer-window-size>
   </connection-factory>

   <connection-factory name="NettyThroughputConnectionFactory">
      <xa>true</xa>
      <connectors>
         <connector-ref connector-name="netty-throughput"/>
      </connectors>
      <entries>
         <entry name="/XAThroughputConnectionFactory"/>
      </entries>
       <consumer-window-size>0</consumer-window-size>
   </connection-factory>

   <connection-factory name="NettyThroughputConnectionFactory">
      <xa>false</xa>
      <connectors>
         <connector-ref connector-name="netty-throughput"/>
      </connectors>
      <entries>
         <entry name="/ThroughputConnectionFactory"/> …
Run Code Online (Sandbox Code Playgroud)

java jms hornetq

4
推荐指数
1
解决办法
962
查看次数

标签 统计

hornetq ×2

java ×2

jboss6.x ×1

jms ×1