以前用的 javapns-jdk15-165.jar 不支持多线程。后来在网上找到新的一个jar,可以支持多线程发送,与大家分享一下,不知道写的对不对,不对的话请指出,多谢。
将消息以多线程方式推送到iPhone服务器,不知道写的对不对,我在本地上测试是没有问题的,如有疑问请留言。
以下项目所用的jar包:
JavaPNS_2.1.jar
bcprov-jdk16-145-1.jar
log4j-1.2.15.jar
只记得这几个jar,如果不对,请留言我在看一下,多谢指正
JavaPNS_2.1.jar 地址
http://code.google.com/p/javapns/
public static void main(String[] args){
String keystore = "D:/XXXXXXXX/XXX.p12";//证书路径和证书名
String password = "XXXXXXXX"; // 证书密码
String token = "XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX";// 手机唯一标识
boolean production = true; // 设置true为正式服务地址,false为开发者地址
int threadThreads = 10; // 线程数
try {
// 建立与Apple服务器连接
AppleNotificationServer server = new AppleNotificationServerBasicImpl(keystore, password, production );
List<PayloadPerDevice> list = new ArrayList<PayloadPerDevice>();
PushNotificationPayload payload = new PushNotificationPayload();
payload.addAlert("推送内容");
payload.addSound("default");// 声音
payload.addBadge(1);//图标小红圈的数值
payload.addCustomDictionary("url","www.baidu.com");// 添加字典
PayloadPerDevice pay = new PayloadPerDevice(payload,token);// 将要推送的消息和手机唯一标识绑定
list.add(pay);
NotificationThreads work = new NotificationThreads(server,list,threadThreads);//
work.setListener(DEBUGGING_PROGRESS_LISTENER);// 对线程的监听,一定要加上这个监听
work.start(); // 启动线程
work.waitForAllThreads();// 等待所有线程启动完成
} catch (Exception e) {
e.printStackTrace();
}
}
// 线程监听
public static final NotificationProgressListener DEBUGGING_PROGRESS_LISTENER = new NotificationProgressListener() {
public void eventThreadStarted(NotificationThread notificationThread) {
System.out.println(" [EVENT]: thread #" + notificationThread.getThreadNumber() + " started with " + " devices beginning at message id #" + notificationThread.getFirstMessageIdentifier());
}
public void eventThreadFinished(NotificationThread thread) {
System.out.println(" [EVENT]: thread #" + thread.getThreadNumber() + " finished: pushed messages #" + thread.getFirstMessageIdentifier() + " to " + thread.getLastMessageIdentifier() + " toward "+ " devices");
}
public void eventConnectionRestarted(NotificationThread thread) {
System.out.println(" [EVENT]: connection restarted in thread #" + thread.getThreadNumber() + " because it reached " + thread.getMaxNotificationsPerConnection() + " notifications per connection");
}
public void eventAllThreadsStarted(NotificationThreads notificationThreads) {
System.out.println(" [EVENT]: all threads started: " + notificationThreads.getThreads().size());
}
public void eventAllThreadsFinished(NotificationThreads notificationThreads) {
System.out.println(" [EVENT]: all threads finished: " + notificationThreads.getThreads().size());
}
public void eventCriticalException(NotificationThread notificationThread, Exception exception) {
System.out.println(" [EVENT]: critical exception occurred: " + exception);
}
};
分享到:
相关推荐
易语言多线程支持库2.1含静态库使用多线程可能用到,支持静态编译。。。。。。。。。。
用C#实现的、基于.NET 2.0的可扩展多线程异步Socket服务器框架EMTASS 2.1源码和Demo。有关该框架的设计说明请参考拙文:http://blog.csdn.net/hulihui/archive/2008/10/27/3158613.aspx
实现多线程对苹果推送,demo已经写好实现多线程对苹果推送,demo已经写好
百度SEO最新泛目录程序+推送工具,百度ping多线程挂机多开推送工具.zip
Fleck.dll支持websocket引自博客文章多线程下的websocket实时通信,具体使用方式请看文章多线程下的websocket实时通信,包括具体的服务器端跟客户端编码。
IOS消息推送机制 ios消息推送主要主流有两种方式,一种是基于javaapns.jar和javaPNS.jar的开源的消息推送,javaPNS.jar支持多线程。
定时任务+缓存+极光消息推送+多线程处理+单表查询优化等方案,对互联网电商开发性能等要求开发优化
BMDThread控件是一套相当成熟的线程控件,使用它可以让你快速的创建、管理线程。 1、将路径添加搜索路径下 2、BMThreadDsnD7.dpk先编译后安装 安装后两个控件
c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程...
2020年搜狗站长平台推送
里面有详细的注释说明,主要实现DWR推送、线程监听、事件监听、主动推送。。写得不好,请见谅。。然后有个特别需要注意的,部署好项目以后,访问的方式是:http://localhost:9999/MonitorSystem/indexTo,特别注意...
多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程多线程
本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码 /** * 发送模板消息 */ public function send_notice(){ //获取access_token if ($_COOKIE...
多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子多线程列子
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例),可直接运行
Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式...
使用Netty4实现多线程的消息分发,这是一个基于netty4做的一个异步通信模型。
Win32多线程程序设计.pdf(带目录)Win32多线程程序设计.pdf(带目录)Win32多线程程序设计.pdf(带目录)Win32多线程程序设计.pdf(带目录)Win32多线程程序设计.pdf(带目录)Win32多线程程序设计.pdf(带目录)...
Qt 多线程及简单实例 demo。 多线程的几大特点: 1.多线程的执行顺序无法保证,与操作系统的调度策略和线程优先级等因素有关。 2.多线程的切换可能发生在任何时刻、任何地点。 3.多线程对代码的敏感度高,因此对...
Qt中利用OpenCV2.4.4多线程打开多摄像机 每个线程处理一个摄像机,从中拿出帧显示到主线程的Label控件上 模拟了一个16个摄像机的场景,有不开多线程和打开多线程的对比。 可以明显感觉到打开多线程后主界面不卡了。 ...