【发布时间】:2015-07-27 12:36:23
【问题描述】:
我有一个 MobileFirst 应用程序尝试使用生产 APNS 证书发送推送。
提交推送时出现此异常:
INFO: Failed to send message Message(Id=2; Token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; Payload={"aps":{"alert":{"body":"Blah blah blah","action-loc-key":null},"sound":"","badge":1},"payload":"{\"alias\":\"News_fr\",\"custom\":\"data\"}"})... trying again after delay
java.net.SocketException: Connection closed by remote host
at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1510)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at java.io.OutputStream.write(OutputStream.java:75)
at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:240)
at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:230)
at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
服务器在 Debian GNU/Linux 7 (wheezy) 上运行 Oracle JRE 1.7 和 Tomcat 7。 MobileFirst 版本是 6.3.0。
它与开发证书配合得很好。
我开发了一个独立的 Java 应用程序(使用 JavaAPNS 而不是 Notnoop),以使用相同的证书在我的本地环境中重现该问题,并且它适用于 Java 1.6 但不是更高版本。
【问题讨论】:
-
你在 Tomcat 中尝试过使用 Java 1.6 吗?
-
不,我没有尝试 Java 1.6,因为它是一个生产环境,我没有安装新版本 Java 的权限。在要求“降级”Java 版本之前,我想确认问题出在 Java 版本。
-
我会看看我能做什么,并告诉你Java版本是否是这里的问题
-
我要求使用 Java 1.6 修改我的预生产环境。
-
它适用于我的独立应用程序和 MobileFirst 服务器。对我来说,在生产模式下向 Apple 发送推送通知时,JRE 1.7 上的 MobileFirst 存在问题
标签: java push-notification ibm-mobilefirst