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
}
});
}
文章来源: java调用NSQ消息服务