TOPAPI 消息通知机制
接收用户订阅消息
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 消息通知机制的更多相关文章
- HTML 5的消息通知机制
译文来源:http://www.ido321.com/1130.html 原文:HTML 5 Notification 译文:HTML 5 的消息通知机制 译者:dwqs HTML 5 已经被应用到W ...
- iOS开发-消息通知机制(NSNotification和NSNotificationCenter)
iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改变要映射到页 ...
- 杂谈:HTML 5的消息通知机制
译文来源:http://www.ido321.com/1130.html 原文:HTML 5 Notification 译文:HTML 5 的消息通知机制 译者:dwqs watermark/2/te ...
- 消息通知机制(NSNotification和NSNotificationCenter)
作者:FlyElephant 出处:http://www.cnblogs.com/xiaofeixiang iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多, ...
- odoo开发笔记--字段追踪,消息通知机制
odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的 ...
- Android学习系列(7)--App消息通知机制
有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面.这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.消息推送机制 ...
- MVVMLight消息通知实现机制详解(一)
最近对委托.事件的订阅使用的太多,订阅与被订阅之间的绑定约束非常...麻烦,所以翻了下MVVMLight源码找出这段可以拿出来用的部分,详情见下: 一.开发中遇到的问题: 场景1:ClassA中存在事 ...
- java多线程系列(三)---等待通知机制
等待通知机制 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解 ...
- 使用 MVVMLight 消息通知
欢迎阅读我的MVVMLight教程系列文章<关于 MVVMLight 设计模式系列> 在文章的其实我们就说了,MVVMLight的精华就是消息通知机制,设计的非常不错.这个东西在MVVML ...
随机推荐
- 关于修改Eclipse工作空间对应的文件夹名称之后的处理.
把文件夹名字从"xhkong"变成"xhkong(maintenance5.6)"之后打开这个工作空间. 导入git仓库我发现了一个之前没有发现的小技巧. 导入 ...
- Jquery 全选、反选问题解析
最近工作中,需要使用Jquery实现复选框的全选和反选,本人虽然不是专职撸前端的,但这个小问题感觉也没什么难度,下面直接上代码: <div id="list"> < ...
- JavaScript 参考手册
http://www.w3school.com.cn/jsref/index.asp https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
- python学习day5--set、函数
1.set 无序,不重复序列 创建:与dict一样用{},区别在于dict内元素为键值对 se={"123","456,444"} print(type(se) ...
- 配置tomcat免安装版服务器
一.首先,确保服务器已经安装java环境,没有tomcat的可以到这里下载 http://tomcat.apache.org/ 二.解压下载的压缩包,我是解压到D盘根目录下的.记住这个目录,后面会用到 ...
- orcale 循环插入 测试数据
以前开发一直用的是sql server 定义临时变量 循环插入数据到表中已经成为一种固定的模式,本来想orcale应该也一样吧 都是数据库.. 结果被现实无情的打击到了.在网上找办法,求大神 最后 ...
- HTML+CSS学习笔记(2) - 认识标签(1)
HTML+CSS学习笔记(2) - 认识标签(1) 1.语义化,让你的网页更好的被搜索引擎理解 标签的用途: 我们学习网页制作时,常常会听到一个词,语义化.那么什么叫做语义化呢,说的通俗点就是:明白每 ...
- JavaScript学习笔记(13)——BOM
1.window 所有浏览器都支持window对象,它表示浏览器窗口本身. 所有 JavaScript 全局对象.函数以及变量均自动成为 window 对象的成员. 全局变量是 window 对象的属 ...
- (转)理解SQL SERVER中的分区表
简介 分区表是在SQL SERVER2005之后的版本引入的特性.这个特性允许把逻辑上的一个表在物理上分为很多部分.而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个 ...
- javascript笔记——工作笔记
1.防止普通用户缓存静态文件,每次修改之后给静态文件的应用后面加上参数后缀[项目文件较多时最好使用前端构建工具] 比如: <script src="$!webPath/resource ...