草庐IT

栈队列

全部标签

java - 将 JMS 队列添加到 Jboss 7

我想尝试了解JMS的工作原理。我正在阅读教程并创建了生产者/消费者java类,但不确定如何创建JMS队列。我下载了jboss-as-web-7.0.2.Final,我相信它有HornetQ。到目前为止,我一无所获,因为我只是想不出如何添加队列。根据这份文件https://docs.jboss.org/author/display/AS7/Messaging+configuration,可以使用add-jms-queue命令添加队列。我试过了,但它会产生错误。[standalone@localhost:9999/]add-jms-queue--name=sampleQueue--entr

java - Java有可索引的多队列线程池吗?

是否有这样的Java类:可以通过id添加可执行任务,保证所有具有相同id的任务永远不会同时运行可以将线程数限制在固定数量简单的Map解决方案很容易解决(1),但很难管理(2)。同样,我所知道的所有线程池类都将从单个队列中提取,这意味着(1)不能保证。欢迎使用涉及外部库的解决方案。 最佳答案 对于每个id,你需要一个SerialExecutor,在java.util.concurrent.Executor的文档中有描述。.所有串行执行器将工作委托(delegate)给ThreadPoolExecutor具有给定的corePoolSiz

java - 有没有办法确保 GAE 上任务队列的 FIFO(先进先出)行为?

有没有办法确保GAE上任务队列的FIFO(先进先出)行为?GAE文档说FIFO是影响任务执行顺序的因素之一,但同一份文档说“系统的调度可能会‘跳’新任务到队列的头部”,我已经通过测试。结果:我的事件正在乱序处理。Docssays:https://developers.google.com/appengine/docs/java/taskqueue/overview-pushTheorderinwhichtasksareexecuteddependsonseveralfactors:Thepositionofthetaskinthequeue. AppEngineattemptstopr

java - Java 中的队列允许删除随机元素。这不好吗?

Queue在Java中提供了FIFO数据结构。根据我的了解,队列有责任遵守先进先出的行为。换句话说,您不能从队列中间移除项目。但是,在Java中,我们可以使用iterator移除随机队列元素。这是一个糟糕的设计封装虎钳吗?还是队列数据结构应该允许这样做?Queuequeue=newLinkedList();queue.add("e1");queue.add("e2");queue.add("e3");queue.add("e4");queue.remove("e3"); 最佳答案 Queue显然通过成为Collection层次结构的

java - 没有队列的 ThreadPoolExecutor

我想创建一个固定大小的线程池,不允许任何任务进入其队列。换句话说,如果线程池当前正在使用中,传入的任务应该被彻底拒绝。基于documentation,在我看来,一种方法是创建一个拒绝接受任务的虚拟Queue对象。在Java中实现此目的的惯用方法是什么? 最佳答案 您可以使用SynchronousQueue在您的ThreadPoolExector中,这是一个不包含任何对象的队列。缓存线程池使用它是因为它按需创建新线程。如果无法排队,但我建议使用RejectedExecutionHandler在当前线程中运行任务。这样它将始终“立即”运

java - 从 Java/Spring 检索 RabbitMQ 队列中未确认消息的数量

有没有办法返回未确认消息的数量?我正在使用此代码获取队列中的消息数:DeclareOkdeclareOk=amqpAdmin.getRabbitTemplate().execute(newChannelCallback(){publicDeclareOkdoInRabbit(Channelchannel)throwsException{returnchannel.queueDeclarePassive(name);}});returndeclareOk.getMessageCount();但我也想知道未确认消息的数量。我已经看到RabbitMQ管理工具包含该信息(对于每个队列,它给出了

RabbitMQ之延迟队列(手把手教你学习延迟队列)

文章目录一、延迟队列概念二、延迟队列使用场景三、RabbitMQ中的TTL1、队列设置TTL2、消息设置TTL3、两者的区别四、整合springboot1、添加依赖2、修改配置文件3、添加Swagger配置类五、队列TTL1、代码架构图2、配置文件类代码3、消息生产者代码4、消息消费者代码六、延时队列优化1、代码架构图2、配置文件类代码3、消息生产者代码七、Rabbitmq插件实现延迟队列1、安装延时队列插件2、代码架构图3、配置文件类代码4、消息生产者代码5、消息消费者代码总结一、延迟队列概念延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了

SpringCloud-基于SpringAMQP实现消息队列

一、SpringAMQP介绍SpringAMQP作为Spring框架的一部分,是一套用于支持高级消息队列协议(AMQP)的工具。AMQP是一种强大的消息协议,旨在支持可靠的消息传递,特别适用于构建分布式系统。SpringAMQP构建在RabbitMQ之上,提供了在微服务架构中进行异步通信和消息传递的强大机制。这个框架的设计目标是使开发者能够更轻松地集成消息传递到他们的应用程序中,同时保持高度的可扩展性和灵活性。通过SpringAMQP,开发者可以使用简洁的API和注解,轻松地实现消息的发送、接收和处理,从而实现高效的分布式通信。二、SpringAMQP原理分析和原理图1、SpringAMQP原

RabbitMQ-消息队列:三台虚拟机搭建RabbitMQ集群

22、RabbitMQ集群使用集群的原因​最开始我们介绍了如何安装及运行RabbitMQ服务,不过这些是单机版的,无法满足目前真实应用的要求。如果RabbitMQ服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台RabbitMQ服务器可以满足每秒1000条消息的吞吐量,那么如果应用需要RabbitMQ服务满足每秒10万条消息的吞吐量呢?购买昂贵的服务器来增强单机RabbitMQ务的性能显得捉襟见肘,搭建一个RabbitMQ集群才是解决实际问题的关键.克隆虚拟机搭建步骤1.修改3台机器的主机名称vim/etc/hostname2.配置各个节点的hosts文件,让各个节点都能互相识别对

java - 将键和值添加到优先级队列中并在 Java 中按键排序

我正在尝试接收字符串列表并将它们添加到具有键和值的优先级队列中。键是单词,值是单词的字符串值。然后我需要先对字符串值最高的队列进行排序。优先级队列不允许我添加2个值。publicstaticListpQSortStrings(Liststrings){PriorityQueueq=newPriorityQueue();for(intx=0;x 最佳答案 问题PriorityQueue可以在它的每个节点中存储单个对象。所以你想做的事情不能按原样完成。但是您可以将两个对象组合在一个类中,然后使用PriorityQueue。您要么需要提供