33import org .codehaus .jettison .json .JSONObject ;
44import org .eclipse .paho .client .mqttv3 .IMqttActionListener ;
55import org .eclipse .paho .client .mqttv3 .IMqttToken ;
6+ import org .eclipse .paho .client .mqttv3 .MqttAsyncClient ;
67import org .eclipse .paho .client .mqttv3 .MqttException ;
78
89import com .google .common .eventbus .Subscribe ;
1112import io .yunba .java .manager .YunBaManager ;
1213
1314public class YunBaDemo {
14- public static String ALIAS = "51595de01b2943499227e62713fb49ee_9cc8b78f9bf847e0aa1512f347f03bbc " ;
15-
15+ public static String ALIAS = "self_alias " ;
16+
1617 public static void main (String [] args ) {
1718 // 初始化 YunBa SDK
18- YunBaManager .start ("56a0a88c4407a3cd028ac2fe " );
19+ YunBaManager .start ("58d49dad15a25f8920eaccda " );
1920
2021 YunBaManager .getEventBus ().register (new Object () {
2122
@@ -42,27 +43,6 @@ public void listen(MessageArrivedEvent event) {
4243 }
4344 });
4445
45- // 订阅一个频道(Topic),以接收来自频道的消息
46- YunBaManager .subscribe ("bullet" , new IMqttActionListener () {
47-
48- @ Override
49- public void onSuccess (IMqttToken asyncActionToken ) {
50- System .out .println ("mqtt succeed subscribe: "
51- + join (asyncActionToken .getTopics (), "," ));
52- }
53-
54- @ Override
55- public void onFailure (IMqttToken asyncActionToken ,
56- Throwable exception ) {
57- if (exception instanceof MqttException ) {
58- MqttException ex = (MqttException ) exception ;
59- System .err
60- .println ("subscribe failed with the error code = "
61- + ex .getReasonCode ());
62- }
63- }
64- });
65-
6646 // 订阅一个频道(Topic),以接收来自频道的消息
6747 YunBaManager .subscribe ("like" , new IMqttActionListener () {
6848
@@ -83,29 +63,9 @@ public void onFailure(IMqttToken asyncActionToken,
8363 }
8464 }
8565 });
86-
87- // 订阅一个频道(Topic),以接收来自频道的消息
88- YunBaManager .subscribe ("stat" , new IMqttActionListener () {
89-
90- @ Override
91- public void onSuccess (IMqttToken asyncActionToken ) {
92- System .out .println ("mqtt succeed subscribe: "
93- + join (asyncActionToken .getTopics (), "," ));
94- }
95-
96- @ Override
97- public void onFailure (IMqttToken asyncActionToken ,
98- Throwable exception ) {
99- if (exception instanceof MqttException ) {
100- MqttException ex = (MqttException ) exception ;
101- System .err
102- .println ("subscribe failed with the error code = "
103- + ex .getReasonCode ());
104- }
105- }
106- });
66+
10767 // 向 Topic 发送消息
108- YunBaManager .publish ("bullet " , "like " , new IMqttActionListener () {
68+ YunBaManager .publish ("like " , "publis message " , new IMqttActionListener () {
10969
11070 @ Override
11171 public void onSuccess (IMqttToken asyncActionToken ) {
@@ -122,7 +82,7 @@ public void onFailure(IMqttToken asyncActionToken,
12282 }
12383 }
12484 });
125- //
85+
12686// YunBaManager.unsubscribe("test_topic", new IMqttActionListener() {
12787//
12888// @Override
@@ -149,6 +109,23 @@ public void onFailure(IMqttToken asyncActionToken,
149109 @ Override
150110 public void onSuccess (IMqttToken asyncActionToken ) {
151111 System .out .println ("mqtt setAlias success" );
112+
113+ // 向用户别名对象发送消息,用于实现点对点的消息发送
114+ YunBaManager .publishToAlias (ALIAS , "msg to java_alaias" , new IMqttActionListener () {
115+
116+ @ Override
117+ public void onSuccess (IMqttToken asyncActionToken ) {
118+ // TODO Auto-generated method stub
119+ System .out .println ("publishToAlias success" );
120+
121+ }
122+
123+ @ Override
124+ public void onFailure (IMqttToken asyncActionToken , Throwable exception ) {
125+ // TODO Auto-generated method stub
126+ System .err .println (exception .toString ());
127+ }
128+ });
152129 }
153130
154131 @ Override
@@ -167,7 +144,7 @@ public void onFailure(IMqttToken asyncActionToken,
167144
168145 @ Override
169146 public void onSuccess (IMqttToken asyncActionToken ) {
170- System .out .println ("mqtt get alias = "
147+ System .err .println ("mqtt get alias = "
171148 + asyncActionToken .getAlias ());
172149 }
173150
@@ -179,11 +156,32 @@ public void onFailure(IMqttToken asyncActionToken,
179156 + mqtt .getReasonCode ());
180157 }
181158 });
159+
160+ //
161+ // 使用publish2发布消息
162+ JSONObject optsJson = new JSONObject ();
163+ try {
164+ optsJson .put ("qos" , 2 );
165+ } catch (JSONException e ) {
166+ e .printStackTrace ();
167+ }
168+
169+ YunBaManager .publish2 ("like" , "publish2 message" , new JSONObject (), new IMqttActionListener () {
170+
171+ @ Override
172+ public void onSuccess (IMqttToken asyncActionToken ) {
173+ // TODO Auto-generated method stub
174+ System .out .println ("publish2 success" );
175+ }
176+
177+ @ Override
178+ public void onFailure (IMqttToken asyncActionToken , Throwable exception ) {
179+ // TODO Auto-generated method stub
180+ System .out .println (exception .toString ());
181+ }
182+ });
182183
183- // // 向用户别名对象发送消息,用于实现点对点的消息发送
184- // YunBaManager.publishToAlias("java_alias", "msg to java_alaias", null);
185- //
186- // // 查询当前用户订阅的频道列表
184+ //// // 查询当前用户订阅的频道列表
187185// YunBaManager.getTopicList("java_alias", new IMqttActionListener() {
188186//
189187// @Override
@@ -201,9 +199,9 @@ public void onFailure(IMqttToken asyncActionToken,
201199// }
202200// }
203201// });
204- //
205- // // 根据 别名 来获取用户的状态
206- // YunBaManager.getState("java_alias" , new IMqttActionListener() {
202+ ////
203+ //// // 根据 别名 来获取用户的状态
204+ // YunBaManager.getState(ALIAS , new IMqttActionListener() {
207205//
208206// @Override
209207// public void onSuccess(IMqttToken asyncActionToken) {
@@ -220,12 +218,12 @@ public void onFailure(IMqttToken asyncActionToken,
220218// @Override
221219// public void onFailure(IMqttToken asyncActionToken,
222220// Throwable exception) {
223- // System.err.println("mqtt get state failed" );
221+ // System.err.println("mqtt get state failed: " + exception.toString() );
224222// }
225223// });
226224//
227- // // 获取输入 Topic 下面所有订阅用户的 别名
228- // YunBaManager.getAliasList("test_topic ", new IMqttActionListener() {
225+ //// // 获取输入 Topic 下面所有订阅用户的 别名
226+ // YunBaManager.getAliasList("bullet ", new IMqttActionListener() {
229227//
230228// @Override
231229// public void onSuccess(IMqttToken asyncActionToken) {
@@ -235,7 +233,7 @@ public void onFailure(IMqttToken asyncActionToken,
235233// System.out.println("mqtt getAliasList: "
236234// + topics.toString());
237235// } catch (JSONException e) {
238- //
236+ // e.printStackTrace();
239237// }
240238// }
241239//
@@ -251,7 +249,7 @@ public void onFailure(IMqttToken asyncActionToken,
251249// }
252250// });
253251//
254- // // 订阅某个频道上的用户的上、下线 及 订阅(或取消订阅)该频道的事件通知
252+ //// // 订阅某个频道上的用户的上、下线 及 订阅(或取消订阅)该频道的事件通知
255253// YunBaManager.subscribePresence("test_topic", new IMqttActionListener() {
256254//
257255// @Override
0 commit comments