ACTIVEMQ可能出现的问题

发送activemq消息队列超时

  1. 可能是对应的消费者处理请求失败或者处理时间超长
  2. 可能是activemq没有将消息发送到server端
    判断方法:看消费者端的日志,是否有收到请求,如果没有收到请求,查看消费者服务器的时间是不是超过MQ服务器的时间(activemq发现的问题)。
    解决办法:如果是时间的问题,修改时间。不是时间问题重启mq
  3. 一台activemq挂了之后另一个启不起来
    判断方法:如果mq消息调不通,三台机器中有activemq启动,则是此问题
    处理方法:将三台activemq都关掉,再依次启动
  4. 多个消费者消费同一个队列的情况下,mq有几率将所有的消息都交给一个消费者消费。出现忙的忙死,闲的闲死的情况。
    解决办法:限制每个消费者的预取消息数量,均匀每个消费者的消费数量。mq默认预取消息数量=1000,这个值对于多消费者,对于我们当前的情况来说实在是太高了,如果一个消费者预取了18条消息,那么这18条消息就只能由这个消费者来消费,18*5=90s,所以预取消息数不能大于18,暂定设置为10。再次实验发现没有再出现多条消息堆在一条队列中的情况出现。问题解决。
# java  activemq 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×