在集成极光推送的时候,test完全正常。部署到服务器后只发送一条推送之后推送不继续发送。经排查:

  • 2018-06-28 10:24:26.394 [ThreadPoolTaskExecutor-4] INFO c.j.c.connection.NettyHttpClient - - Created instance with connectionTimeout 5,000, readTimeout 30,000, maxRetryTimes 3, SSL Version TLS

因为JPUSH在3.12.15以后的版本需要显示的调用jpushClient.close() 来关闭NettyHttpClient 

//消息gradle推送
compile 'cn.jpush.api:jpush-client:3.2.17'
/**
* 自定义按别名推送信息
* @param days
* @param extras
* @param alias
* @return
*/
public static PushPayload sendAndroidAndAlias(String days,Map<String, String> extras, String... alias) {
Builder builder = PushPayload.newBuilder();
return builder
.setPlatform(Platform.android_ios())
.setAudience(Audience.alias(alias))
.setMessage(Message.newBuilder()
.setTitle(extras.get("title"))
.setMsgContent(extras.get("msg"))
.addExtras(extras)
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(false)
.setTimeToLive(Long.valueOf(Integer.valueOf(days)*86400))
.build())
.setNotification(Notification.android(extras.get("msg"), extras.get("title"), extras))//后端推送。如果前端推送可以去掉
.build();
}
 
 
public static PushResult sendPush(PushPayload payload) throws APIConnectionException, APIRequestException{
JPushClient jPushClient = new JPushClient(MASTER_SECRET, APP_KEY);//定义的Jpushkey等
System.out.print("jPushClient 开始调用!!!!!!!!!!!!!"+payload.toString());
PushResult pushResult = jPushClient.sendPush(payload);
jPushClient.close();
System.out.print("jPushClient 调用完毕并且关闭NativeHttpClient");
return pushResult;
}
  //推送别名推送
@Test
public void sendAndroidAndAlias() {
        Map<String,String> parms = new HashMap<>();
parms.put("id","test");
parms.put("type","test");
parms.put("msg","test");
parms.put("title","test");
    //jPush用户推送
    String[] toId = new String[1];
    toId[0] = userId.toString();
        try {
PushPayload data = MsgPushUtils.
sendAndroidAndAlias("1",parms,userIDs);
//                MsgPushUtils.sendPushTryCatch(data,log);
MsgPushUtils.sendPush(data);
} catch (APIConnectionException e) {
log.error("Connection error. Should retry later. ", e);
} catch (APIRequestException e) {
log.error("Error response from JPush server. Should review and fix it. ", e);
log.info("HTTP Status: " + e.getStatus());
log.info("Error Code: " + e.getErrorCode());
log.info("Error Message: " + e.getErrorMessage());
}
 
 
 
 
 

最新文章

  1. SpringMvc相关配置的作用
  2. 谢欣伦 - OpenDev原创例程 - 网络摄像机WebCamera
  3. 【CodeForces 625A】Guest From the Past
  4. SVN 分支及合并的介绍和实践---命令行
  5. Servlet之编码过滤
  6. POJ 1904 King&#39;s Quest 强连通分量+二分图增广判定
  7. java基础理论知识的一些总结
  8. Aizu 2456 Usoperanto 贪心 拓扑排序
  9. boost库在工作(32)网络服务端之二
  10. Python 自动化脚本学习(三)
  11. 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持
  12. [LeetCode] Maximum Width of Binary Tree 二叉树的最大宽度
  13. 安卓高级3 RecyclerView 和cardView使用案例
  14. 远程Gitlab新建的分支在IDEA里不显示
  15. git忽略规则.gitignore未生效解决办法
  16. memcached协议解析
  17. jenkins 部署问题
  18. vue之v-for
  19. Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构
  20. 学习坤哥的replaceTpl方法

热门文章

  1. Python开发——数据结构【深浅拷贝】
  2. 6L - 大菲波数
  3. Luogu3587[POI2015]POD - hash + 单调队列
  4. 查看memcached进程
  5. echo 转义字符的使用
  6. NFS服务简介与配置
  7. Linux环境下java开发环境搭建二 tomcat搭建
  8. js 新增标签、标签属性
  9. mongoDB实现MapReduce
  10. java安装jdk错误1316 指定的账户已存在