java调用NSQ消息服务

匿名 (未验证) 提交于 2019-12-02 21:53:52
java调用NSQ消息服务
如果还不懂的怎么安装部署nsq的童鞋,可以先看看这里:
http://blog.csdn.net/fs_sky/article/details/65441918

nsq 提供了丰富的客户端调用库,根据官网提供

我这里使用的是JavaNSQClient,可以从
下载相应的jar包,例子中使用maven构建,构建完成后,可以自己根据例子完成消费者,生存的配置功能。


生产者:

public void nsqProducer(){
NSQProducer producer = new NSQProducer();
producer.addAddress("127.0.0.1",4150).start();
try {
producer.produce("test", "message go go go 2".getBytes());
} catch (NSQException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
}

消费者:
public void nsqConsumer(){
NSQLookup lookup = new DefaultNSQLookup();
lookup.addLookupAddress("127.0.0.1", 4161);
NSQConsumer consumer = new NSQConsumer(lookup, "test", "nsq_to_file", new NSQMessageCallback(){
@Override
public void message(NSQMessage message) {
byte b[] = message.getMessage();
String s = new String(b);
System.out.println(s);
message.finished();
}
});
consumer.start();
//线程睡眠,让程序执行完
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
consumer.setExecutor(new Executor() {
@Override
public void execute(Runnable command) {
// TODO Auto-generated method stub
}
});
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!