博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十五、curator recipes之DistributedQueue
阅读量:6712 次
发布时间:2019-06-25

本文共 2270 字,大约阅读时间需要 7 分钟。

简介

curator实现了先入先出的分布式消息队列,它采用的是zookeeper的持久化有序节点。

官方文档:

javaDoc:

代码示例

import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.framework.recipes.queue.DistributedQueue;import org.apache.curator.framework.recipes.queue.QueueBuilder;import org.apache.curator.framework.recipes.queue.QueueConsumer;import org.apache.curator.framework.recipes.queue.QueueSerializer;import org.apache.curator.framework.state.ConnectionState;import org.apache.curator.retry.ExponentialBackoffRetry;import java.io.UnsupportedEncodingException;public class DistributedQueueDemo {    private static CuratorFramework client = CuratorFrameworkFactory.newClient("localhost:2181", new ExponentialBackoffRetry(3000, 2));    private static String path = "/queue/0001";    private static DistributedQueue
queue; static { client.start(); } public static void main(String[] args) throws Exception { QueueConsumer
consumer = new QueueConsumer
() { @Override public void stateChanged(CuratorFramework curatorFramework, ConnectionState connectionState) { System.out.println("state changed"); } @Override public void consumeMessage(String s) { System.out.println("消费数据:" + s); } }; queue = QueueBuilder.builder(client, consumer, new QueueSerializer
() { @Override public byte[] serialize(String s) { try { return s.getBytes("utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; } @Override public String deserialize(byte[] bytes) { return new String(bytes); } }, path).buildQueue(); queue.start(); System.out.println("queue built"); queue.put("a"); queue.put("b"); System.out.println("put ended"); Thread.sleep(100); queue.close(); Thread.sleep(50000); client.close(); }}

 

转载于:https://www.cnblogs.com/lay2017/p/10276468.html

你可能感兴趣的文章
linux系统常用命令
查看>>
面对霍金的担忧,人工智能会让我们在火星实现定居吗
查看>>
定制一款漂亮的终端
查看>>
ChIP-seq基础入门
查看>>
poj-1017-packets
查看>>
你打算找一份稳定的工作?
查看>>
timed out waiting for to be synced
查看>>
(5)Python字典
查看>>
mysql问题
查看>>
为何要领域驱动设计
查看>>
ios GCD ---- (1)
查看>>
Pi编译安装PHP/Nginx并安装完整LEMP环境
查看>>
HTTPS 也不安全?被发现新漏洞会暴露你的数据
查看>>
x86 和 ARM 谁能主宰服务器市场?Linux 之父和 Redis 之父有分歧了
查看>>
dva.js学习梳理集
查看>>
ECS运维神器重装上阵,云助手亮相控制台
查看>>
Nacos 发布 0.9.0 版本,为 GA 作准备
查看>>
ECS控制台实例列表支持自动续费状态过滤
查看>>
运维利器 RunDeck v3.0.15 发布, 服务器自动化操作
查看>>
后端架构师技术图谱
查看>>