zbus-6.3.0 (master)增加新特性,支持对队列消息的唯一性约束,生产者可以在消息头部打标识(键名key),唯一标识决定消息是否入队列。使用示例
BrokerConfig config = new BrokerConfig();
config.setServerAddress("127.0.0.1:15555");
final Broker broker = new SingleBroker(config);
Producer producer = new Producer(broker, "MyMQ");
producer.createMQ(); // 如果已经确定存在,不需要创建
for(int i=0; i<10; i++){
Message msg = new Message();
msg.setHead("key", "hong"); //设置消息唯一性约束
msg.setBody("hello world"+i);
msg = producer.sendSync(msg);
}
broker.close();
发送了10次,但是由于设定了key唯一性,最终zbus服务器入队列只有1条