Java中的持久阻塞队列?
发布时间:2020-12-15 04:08:08 所属栏目:Java 来源:网络整理
导读:TL; DR;我需要知道是否存在具有持久阻塞队列的lib,这是一种性能. 我有一个经典的生产者/消费者计划.他们共享一个LinkedBlockingQueue来共享数据,我在消费者中使用BlockingQueue#take方法,因为我需要他们永远等待新元素. 问题是我有很多数据,我不能丢失它们.
TL; DR;我需要知道是否存在具有持久阻塞队列的lib,这是一种性能.
我有一个经典的生产者/消费者计划.他们共享一个LinkedBlockingQueue来共享数据,我在消费者中使用BlockingQueue#take方法,因为我需要他们永远等待新元素. 问题是我有很多数据,我不能丢失它们.即使在消费者停止之后,生产者也可以坚持生成一些数据.我正在考虑实现我的BlockingQueue ta后面使用H2来存储/获取一些阈值后的数据.我的主要问题是我需要性能,我需要按照创建的顺序使用元素. 是否有持久阻塞队列的实现,我可以用于这样的事情?如果没有,那么我可以通过什么方式来实现这样的目标呢? 解决方法
我会使用ActiveMQ lib和
Spring JMS,这是一个用法示例
启动经纪人 BrokerService broker = new BrokerService(); broker.addConnector("tcp://localhost:61616"); broker.start(); 阅读消息 ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616"); JmsTemplate t = new JmsTemplate(cf); Message msg = t.receive(); 发信息 ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616"); JmsTemplate t = new JmsTemplate(cf); t.send("test",new MessageCreator() { public Message createMessage(Session session) throws JMSException { return session.createTextMessage("test"); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |