yunba / yunba-java-sdk

yunba java sdk
9 stars 7 forks source link

publish2 发布消息能成功收到,但却回调了 onFailure #2

Open LirisFlow opened 8 years ago

LirisFlow commented 8 years ago

在 YunBaDemo.java 的 connect() 的回调 onSuccess() 里,添加下面的 publish2 代码,会出现“发的消息能成功收到,但却回调了 onFailure 函数”的情况。onFailure 打印出来的错误号是:20002。查到是:REASON_CODE_BAD_RETURN_PARAMETER。

(注:本人不会 Java,请先检查下面的代码写法有无问题,再研究这个问题。)

try{
    JSONObject jsonObj = new JSONObject();
    jsonObj.put("qos",1);
    System.out.println("=====JSON: "+jsonObj.toString());

    mqttAsyncClient.publish2("news", "aaaaa", jsonObj, new IMqttActionListener() {
        @Override
        public void onFailure(IMqttToken asyncActionToken,Throwable exception) {

            if (exception instanceof MqttException) {
                MqttException ex = (MqttException)exception;
                System.err.println("=====publish2 failed, error code = " + ex.getReasonCode());
            }
        }
        @Override
        public void onSuccess(IMqttToken arg0) {
        System.out.println("=====publish2 succeeded.");
        }
    });
}catch(Exception e){                                
    e.printStackTrace();
}   
cqq commented 8 years ago

暂时不要使用publish2 直接使用publish

2016-02-19 19:23 GMT+08:00 lichunjing notifications@github.com:

Assigned #2 https://github.com/yunba/yunba-java-sdk/issues/2 to @cqq https://github.com/cqq.

— Reply to this email directly or view it on GitHub https://github.com/yunba/yunba-java-sdk/issues/2#event-556427586.