1、下载并导入demo工程
demo工程:https://open.iot.10086.cn/doc/mq/images/tools/OneNET-MQ-demo-20200119.zip
将demo工程下载并解压,然后打开IDEA,将其导入:
菜单File
→Open...
打开导入弹窗,选择解压的文件夹,点击OK
,出现下图所示弹窗,点击Trust Project
等待其下载maven依赖包
2、配置demo工程
修改com.onenet.mq
包下的MqClient.java
类,下面两张图中的代码:
比如我的,根据在Onenet平台创建的消息队列MQ实例,将代码写成这种:
//用户自定义合法的UTF-8字符串,可为空
String clientID = "yuyun-mq";
String serverURI = "ssl://183.230.40.96:8883";
//MQ实例名称
String userName = "yuyun-mq-test";
//topic名称
String mqTopic = "yuyun-topic-test";
// 订阅名称
String mqSub = "yuyun-topic-data";
// MQ实例名称
String userName = "yuyun-mq-test";
// MQ实例的 access_key
String accessKey = "fFjnCBIQ5dhZg2wtI6306NoxT17oA1DWraGVhrzKf0A=";
//版本号,无需修改
String version = "2018-10-31";
//通过MQ实例名称访问MQ
String resourceName = "mqs/" + userName;
String expirationTime = System.currentTimeMillis() / 1000 + 100 * 24 * 60 * 60 + "";
//签名方法,支持md5、sha1、sha256
String signatureMethod = "md5";
String password = null;
注:如需手动回复
puback
,请将MqClient.java
中第25行manualAcks
设置为true
,并在PushCallback
类中的messageArrived
的接口中手动回复。private boolean manualAcks = false;
3、运行demo
项目配置完成之后,就在MqClient.java
类的最后面有一个main方法,直接运行
这个时候,运行linux平台的模拟设备,控制台就会收到设备传给MQ的数据,MQ再发送到项目控制台:
收到的数据中有一个id字段,它就是消费位置,我们可以根据这个id去控制台修改订阅的消费位置: