![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
文章平均质量分 80
祎木一世界
这个作者很懒,什么都没留下…
展开
-
fluentd配置每天创建es索引
有个需求,每天创建一个索引,然后从日志文件中把一天的数据都存入索引中要求:每个索引存储0-24点的日志如果fluentd宕机,重启后仍然能正常分析日志并按照日期对应的索引存储配置<match gateway.elasticsearch.**> @type elasticsearch host 127.0.0.1 port 9200 logstash_format true logstash_...原创 2021-07-13 16:20:54 · 2148 阅读 · 1 评论 -
iOS推送javaPNS源码解析九,总结
嗯 没错,其实前面毛用没有,如果只是使用JavaPns的话看这篇就够了首先咱们理一下iOS的推送过程手机A向苹果服务器注册获取64位token(token-A)手机A将该token-A发送给业务服务器,业务服务器将登录手机A的用户A与token-A一一对应保存。如果业务服务器要给用户A推送消息,那么业务服务器查询到用户A的token,然后业务服务器使用JavaPns连接到苹果推送服务器原创 2017-11-05 18:44:27 · 598 阅读 · 0 评论 -
iOS推送javaPNS源码解析七,推送信息类
PushedNotification,该类用于获取推送消息结果信息。所有属性如下: private Payload payload;消息体 private Device device;目标设备 private ResponsePacket response;推送返回response信息 private int identifier;推送返回信息唯一标识 –好像没啥用 pri原创 2017-11-05 18:41:42 · 1098 阅读 · 0 评论 -
iOS推送javaPNS源码解析八,多线程推送类
多线程部分有两个模式:LIST模式和QUEUE模式。list模式用于当开始后有大量的预定义的设备要推送queue模式用于零星的推送,可能要等待推送消息过来再去推送。重要接口:PushQueue,用于存储,清除,启动多线程推送操作。具体实现类public class NotificationThread implements Runnable, PushQueue该类实现了多原创 2017-11-05 18:42:53 · 279 阅读 · 0 评论 -
iOS推送javaPNS源码解析六,连接管理类
连接管理类ConnectionToAppleServer,话说客户端服务器都准备完了,该连接了,连接到服务器的类设计方式是:由于连接到服务器是一个动作对象,该对象有很多方法,并且要实例化各种连接配置,所以顶级类设计为了一个抽象类。连接这个类使用了TLS加密连接,为了掩饰本人不好的加密基础,这个类的源码如下/* KeyManagerFactory 使用的算法,默认是sun公司的suunx50原创 2017-11-05 18:40:05 · 240 阅读 · 0 评论 -
iOS推送javaPNS源码解析一,设备类
最近分析了javaPns2.2的源码,根据模块简要总结下首先是device模块,device顾名思义就是设备的意思,这对于ios手机推送来说,就是iPhone4/4s/5/5s/6/6s,当然推送到平板应该也是可以的,平板的我没试过,有条件的童鞋们可以试下。先说Device接口吧,该接口定义了设备的基本属性的获取方法,1、token;2、最后跟服务器注册时间;3、deviceId,一般情况原创 2017-11-05 18:31:51 · 209 阅读 · 0 评论 -
iOS推送javaPNS源码解析二,消息体类
消息体类是推送的基本组成部分,巧妇难为无米之炊,没消息体还推送神马。消息体的顶级类是Payload,这是一个抽象类,作为基本的javabean,不需要什么其他的接口方法。该类默认了消息体的实现是utf-8字符集,定义了消息体是一个JSONObject对象,说明了默认消息体失效时间是1天,类中payloadSizeEstimatedWhenAdding用于判断添加消息内容时候消息体长度是否过原创 2017-11-05 18:33:35 · 441 阅读 · 0 评论 -
iOS推送javaPNS源码解析三,服务器类
有设备,有消息体那就得有服务器啊,这篇就说服务器服务器不是一个简单的java类对象,需要有各种的方法和属性,因此javaPns将其顶级类定义为一个接口AppleServer,为所有服务器提供了相关方法其方法有 public InputStream getKeystoreStream() throws InvalidKeystoreReferenceException,返回证书(k原创 2017-11-05 18:34:52 · 211 阅读 · 0 评论 -
iOS推送javaPNS源码解析五,代理管理类
这个类是最不想写的,因为看不懂啥意思,结合使用的地方看,这个类就是设置下代理地址到指定的系统属性或者jvm属性,获取当前服务器是否有代理设置类名为ProxyManager private static final String LOCAL_PROXY_HOST_PROPERTY = “javapns.communication.proxyHost”;系统属性key priv原创 2017-11-05 18:38:22 · 254 阅读 · 0 评论 -
iOS推送javaPNS源码解析四,证书管理类
证书管理类KeystoreManager顾名思义该类用来管理推送证书的,主要作用是解析证书到适合的格式,比如InputStream流。private static final String REVIEW_MESSAGE = ” Please review the procedure for generating a keystore for JavaPNS.”;验证证书错误提示语句 s原创 2017-11-05 18:36:01 · 451 阅读 · 0 评论