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 ...
随机推荐
- LeetCode 226
Invert Binary Tree Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 /** ...
- nodejs自己在项目中使用的一个工具库utils.js文件
文件内容如下: /** * utils.js */ var crypto = require('crypto'); var url = require('url'); var querystring ...
- 实现TableLayout布局下循环取出TableRow控件中的文字内容到list集合
布局方式为TableLayout,利于实现表单样式展现. <!-- 详情内容区域 --> <ScrollView android:layout_above="@id/id_ ...
- 关于Merge的整理--Merge的使用方法和注意事项的Demo
上一篇文章中讲到了Merge的用法和注意事项,所以本人就想,做了一个Demo进行验证下. 一.Merge的使用 (1)activity中的onCreate方法中的setContentView(R.la ...
- saltstack实战4--综合练习2
Saltstack配置管理-功能模块-安装haproxy 配置管理,我们分了3层 最底层是系统初始化部分 倒数二层是功能模块,就是具体的产品的安装了 假如你的环境需要nginx,php,memcach ...
- 【TOMCAT】Tomcat gzip压缩传输数据
概述 由于我们项目的三维模型文件非常大,为了提高传输速度,在服务端对其做zip压缩处理非常有必要,能够极大的提高传输速度. 配置 首先需要修改web.xml中请求的数据文件的mime类型的mappin ...
- ios获取当前语言
上代码: + (NSString*)getPreferredLanguage { NSUserDefaults * defaults = [NSUserDefaults standardUserDef ...
- 初学Android: 四大组件之Activity
1.activity (1)一个Activity通常就是一个单独的屏幕(窗口),简单来说activity就是一个交互界面,一般应用程序都要由一个或者多个activity组成. (2)Activity之 ...
- 记redis的一个测试
现有020的系统架构走库存,取券通过Fetch前n条来实现买n张优惠券,但此做法在高并发时有严重的性能问题,性能问题主要体现在数据库. 为了优化此性能,系统改为redis,走队列模式,即生产者消费者. ...
- PHP中的变量
PHP中的变量 程序是由代码与数据两部分组成,数据存储在变量,变量的本质是内存中的一个存储空间.变量对应的空间有一个名子,叫变量名,变量名用于对数据进行读写. 变量的定义 在php变量名之前必须使用' ...