草庐IT

环形队列

全部标签

java - 当队列持久时,HornetQ Producer 变慢

我已经尝试在horntQ中使用PersistentQueue。我做了两个单独的例子(生产者,消费者)。我的消费者运行良好,但生产者花费太多时间来完成发送消息。我分别跑过和一起跑过。可能是什么问题呢?我的代码是:publicclassHornetProducerimplementsRunnable{Contextic=null;ConnectionFactorycf=null;Connectionconnection=null;Queuequeue=null;Sessionsession=null;MessageProducerpublisher=null;TextMessagemess

java - Java 中 HashMap 对象的优先级队列

我创建了一个HashMap对象,它存储一个String作为键,相应的值作为int。现在我想要一个优先级队列,它具有HashMap对象中存在的所有字符串,其值作为分配优先级的引用。我写了下面的代码publicclassURIQueue{privateHashMapCopyQURI;privatePriorityQueueQURI;publicclassTComparator{publicintcompareTo(Strings1,Strings2){if(CopyQURI.get(s2)-CopyQURI.get(s1)>=0){return1;}else{return0;}}}publ

java - JMS 队列上多线程消息处理的最佳实践

我目前正在将JMS支持添加到类似应用程序服务器的框架中。JMS将由HornetQ(独立代理,服务器类路径上的hornetqjar)实现,但既没有JBoss,也没有spring,也没有其他任何可以提供MDB的东西。下一步是将消息监听器添加到xa队列,以允许并行处理传入消息。有些消息会启动长时间运行的任务,因此基本思想是从onMessage方法生成工作线程。在漫长的互联网旅程中,我遇到了thisdiscussion,其中一位参与者提到,他不会这样做,而是使用一个额外的内部队列来完成任务:然后(单线程)消息监听器将简单地从入站队列中获取消息并为内部队列创建新消息,其中在该内部队列的另一端,一

java - 更改 ThreadPoolExecutor 的队列大小

我需要能够更改ThreadPoolExecutor任务队列的大小.当然,BlockingQueue不支持改变大小,ThreadPoolExecutor也不支持改变队列。所以,我想出的方法是使用ThreadPoolExecutor.shutdownNow(),这会返回一个尚未执行的Runnable列表。然后我可以创建一个具有所需队列大小的新执行程序并重新提交所有任务。问题在于调用shutdownNow()时正在进行的任务。据我从javadoc中得知,执行程序将在当前执行任务的所有线程上调用Thread.interrupt()。我不希望我的任务被杀死。这个问题可能是询问如何编写我的任务以使

java - 如何以编程方式报告 AWT/Swing 事件队列长度?

理想情况下,答案将与平台无关,但特定于平台(尤其是OracleJVM)也很有用。我正在处理的项目仍在运行版本6JVM。特殊需求与不时“卡住”的GUI有关。我很清楚在EDT上进行GUI工作。该程序在Windows上运行良好,但在转移到Linux后,这些“奇怪”的GUI问题开始发生。实际上,这个问题已经发生在两个应用程序上,都是在从Windows迁移到Linux之后。JVisualVM显示超过1000万个java.awt.EventQueueItem对象。怀疑是AWT队列的增长速度超过了它在Linux上的服务速度,因此我们的想法是在应用程序上放置一个AWT队列长度指示器,并查看它在队列增长

Java:一个去重的延时队列

大家好,我有一个系统(源)需要在某些对象发生变化时异步通知另一个系统(目标)。不同之处在于,源系统可能会在短时间内多次改变单个对象(更新非常“突发”),在这种情况下,理想的情况是只通知目标系统一次,并通知目标系统的最终状态对象。我的想法是为此在ThreadPoolExecutor之前使用某种时间延迟的重复数据删除队列。这个队列将:将项目保留在队列中的时间最短(理想情况下配置为比典型突变爆发的持续时间稍长)如果重复项(由对象的标识符定义)入队,则替换现有对象。然而,该项目应该保留其在队列中的原始位置(以避免任何一个项目永远被撞到队列的后面-在某些时候我们需要发送通知,即使另一个项目会暂时

java - AWS us-east 中基于 Java 的应用程序的托管消息队列?

我正在寻找一个消息队列即服务,它........托管在AWSus-east..提供真正的PubSub(不是轮询!)..可用于生产..提供高可用性..有一个很好的Java客户端我只找到了CloudAMQP(仍处于测试阶段),AppEngineTaskQueue(不是AWS),SQS(仅轮询),RedisToGo(没有高可用性?-twitter流似乎充满问题)和IronMQ(仅轮询)。我错过了什么? 最佳答案 您应该检查一种可用的开放式PaaS(例如Cloudify、OpenShift或Cloudfoundry),使用此类PaaS可以轻

java - 队列<整数> q = new LinkedList<整数>()

这里是ananswerto"HowdoIinstantiateaQueueobjectinjava?",Queueisaninterface.Youcan'tinstantiateaninterfacedirectlyexceptviaananonymousinnerclass.Typicallythisisn'twhatyouwanttodoforacollection.Instead,chooseanexistingimplementation.Forexample:Queueq=newLinkedList();orQueueq=newArrayDeque();Typicallyy

java - 在 JFreeChart 中制作自定义环形图

我目前正在使用itext-pdf生成PDF。除此之外,我还在使用JFreeChart在其上创建图表。我创建了一个具有爆炸效果的圆环图,它看起来像这样。但是我想创建一个看起来更像这样的圆环图。我希望某些部分能够脱颖而出,但又不会完全脱离圆环图。我非常感谢有关如何实现这一目标的意见。这是我当前的代码:importjava.awt.Color;importjava.awt.Graphics2D;importjava.awt.geom.Rectangle2D;importjava.io.FileOutputStream;importjava.io.IOException;importjava.

java - JMS/HornetQ = 如何从客户端以编程方式创建 JMS 队列?

我知道可以通过hornetq-jmx.xml配置文件在HornetQ中创建JMS队列。但我想从客户端执行此操作?我试过:HornetQJMSClient.createQueue(queueName);但这似乎没有创建队列(在hornetq服务器上)?当我尝试为此队列创建消费者时,我总是会收到一个队列未知的异常。如果能提供有关如何从客户端创建JMS队列的建议,我将不胜感激。(我根本不想在客户端或服务器上使用JNDI,如果可能的话)。更新:我不介意使用任何HornetQs核心API(与JMSAPI相对)从客户端创建队列。我的问题是:是否有任何方法可以从客户端创建队列(使用JMSApis或使