接收用户订阅消息


public class UserSubMain { public static void main(String[] args ) throws ApiException {
String appKey="1021036310";
String appSecret="sandboxdc954ee217f6ad0ac192f436f";
String serverUrl = "http://gw.api.tbsandbox.com/router/rest"; DefaultTaobaoClient client = new DefaultTaobaoClient(serverUrl , appKey , appSecret, "xml"); IncrementCustomerPermitRequest req = new IncrementCustomerPermitRequest();
req.setStatus("all;all;all");
req.setTopics("trade;refund;item");
req.setType("get,syn,notify");
System.out.print((client.execute(req, "61017155c02b94c4f80e4611222c34f33b6076f29b063992074082786")).getBody());
}
}

监听类


import com.taobao.api.internal.stream.connect.ConnectionLifeCycleListener;
public class DefaultConnectionLifeCycleListener implements ConnectionLifeCycleListener {
public void onBeforeConnect() {
System.out.println("connect start ");
}
public void onConnect() {
System.out.println("connecting ");
}
public void onException(Throwable throwable) {
System.out.println("connecting error: " + throwable);
}
public void onConnectError(Exception e) {
System.out.println("connecting error: " + e);
}
public void onReadTimeout() {
System.out.println("connecting timeout");
}
public void onMaxReadTimeoutException() {
System.out.println("onMaxReadTimeoutException");
}
public void onSysErrorException(Exception e) {
System.out.println("onSysErrorException error: " + e);
}
}

监听类


import com.taobao.api.internal.stream.message.TopCometMessageListener;
public class DefaultTopCometMessageListener implements TopCometMessageListener{
public void onConnectMsg(String message) {
System.out.println("connecting onConnectMsg: " + message);
}
public void onHeartBeat() {} public void onReceiveMsg(String message) {
System.out.println("connecting onReceiveMsg: " + message);
}
public void onConnectReachMaxTime() {} public void onDiscardMsg(String message) {
System.out.println("connecting onDiscardMsg: " + message);
} public void onServerUpgrade(String message) {
System.out.println("connecting onServerUpgrade: " + message);
} public void onServerRehash() { } public void onServerKickOff() { } public void onClientKickOff() { } public void onOtherMsg(String message) {
System.out.println("connecting onOtherMsg: " + message);
}
public void onException(Exception ex) { }
}

订阅消息


import com.taobao.api.internal.stream.Configuration;
import com.taobao.api.internal.stream.TopCometStream;
import com.taobao.api.internal.stream.TopCometStreamFactory;
public class ComentMain {
public static void main(String[] args ) {
String appKey="1021036310";
String appSecret="sandboxdc954ee217f6ad0ac192f436f";
Configuration conf = new Configuration(appKey,appSecret,null);
conf.setConnectUrl("http://stream.api.tbsandbox.com/stream");
TopCometStream stream = new TopCometStreamFactory(conf).getInstance();
stream.setConnectionListener(new DefaultConnectionLifeCycleListener());
stream.setMessageListener(new DefaultTopCometMessageListener());
stream.start();
}
}

TOPAPI 消息通知机制的更多相关文章

  1. HTML 5的消息通知机制

    译文来源:http://www.ido321.com/1130.html 原文:HTML 5 Notification 译文:HTML 5 的消息通知机制 译者:dwqs HTML 5 已经被应用到W ...

  2. iOS开发-消息通知机制(NSNotification和NSNotificationCenter)

    iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改变要映射到页 ...

  3. 杂谈:HTML 5的消息通知机制

    译文来源:http://www.ido321.com/1130.html 原文:HTML 5 Notification 译文:HTML 5 的消息通知机制 译者:dwqs watermark/2/te ...

  4. 消息通知机制(NSNotification和NSNotificationCenter)

    作者:FlyElephant 出处:http://www.cnblogs.com/xiaofeixiang iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多, ...

  5. odoo开发笔记--字段追踪,消息通知机制

    odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的 ...

  6. Android学习系列(7)--App消息通知机制

    有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面.这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.消息推送机制    ...

  7. MVVMLight消息通知实现机制详解(一)

    最近对委托.事件的订阅使用的太多,订阅与被订阅之间的绑定约束非常...麻烦,所以翻了下MVVMLight源码找出这段可以拿出来用的部分,详情见下: 一.开发中遇到的问题: 场景1:ClassA中存在事 ...

  8. java多线程系列(三)---等待通知机制

    等待通知机制 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解 ...

  9. 使用 MVVMLight 消息通知

    欢迎阅读我的MVVMLight教程系列文章<关于 MVVMLight 设计模式系列> 在文章的其实我们就说了,MVVMLight的精华就是消息通知机制,设计的非常不错.这个东西在MVVML ...

随机推荐

  1. 【简单dp+模拟】hdu-5375(2015多校#7-1007)

    给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和:二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大. 首先你得知道二进制转格雷码的规则,即格雷码位为[二进制 ...

  2. Android中更新视图的函数onDraw()和dispatchdraw()函数的区别

    Android的view组件显示主要经过mesure, layout和draw这三个过程.在mesure阶段里调用mesure(int widthSpec, int heightSpec)方法,这个方 ...

  3. 实现TableLayout布局下循环取出TableRow控件中的文字内容到list集合

    布局方式为TableLayout,利于实现表单样式展现. <!-- 详情内容区域 --> <ScrollView android:layout_above="@id/id_ ...

  4. Nginx - HTTP Configuration, Module Directives

    Socket and Host Configuration This set of directives will allow you to configure your virtual hosts. ...

  5. HDOJ2003求绝对值

    求绝对值 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  6. MyEclipse中配置SWT/JFace/SWT-Designer 艰辛路程

    我最近受一个老师所托,写一个小系统,为了更加熟练使用Java,我决定用Java写一个PC软件. 我是一个比较追求完美的孩子,所以虽然老师对界面没啥要求,但是为了加快速度和界面美观,果断选择SWT/JF ...

  7. CSS之照片翻转

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  8. Learn Python The Hard Way学习笔记001

    今天搜索了一下raw_input() 和 input()的区别,引用下原文部分内容 两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收).而对于 ...

  9. Codewars编辑题--今天升到了7段

    今天做的题目是:写一个函数toWeirdCase(),对给定的一个字符串string进行偶数位(包括0)变成大写的操作,字符串string分为单个单词的字符串和多个单词组成的句子.效果应该是这个样子滴 ...

  10. FAILURE: Build failed with an exception. Crunching Cruncher screen.png failed

    自己测试ionic的模板项目cutePuppyPics时,按照https://github.com/driftyco/ionic/blob/2.0/CHANGELOG.md#angular-updat ...