将Linux服务器中存在的所有应用程序推送到APNS服务器的通知时遇到问题。

它能够在某个时间推送通知,有时会引发错误,“已检查证书”也可以。

我使用java_apns推送通知。

以下是我遇到的错误,谁能帮我解决这个问题。

2016-04-13 10:15:41,245 [pool-1-thread-1] WARN  com.timeinc.ae.push.services.APNSService - com_timesmedia_countrylife_magazine Error posting to multiple devices
com.notnoop.exceptions.NetworkIOException: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at com.notnoop.apns.internal.Utilities.wrapAndThrowAsRuntimeException(Utilities.java:284)
    at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:342)
    at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:312)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.call(ApnsPooledConnection.java:43)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.call(ApnsPooledConnection.java:41)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:701)
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:941)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1320)
    at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:698)
    at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:119)
    at java.io.OutputStream.write(OutputStream.java:75)
    at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:328)
    ... 8 more
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.read(InputRecord.java:482)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:922)
    ... 13 more


任何帮助将不胜感激。

最佳答案

我的代码可以很好地处理证书,并且突然弯腰处理握手失败。

最终我们发现问题出在证书不在war文件(某些本地文件夹)之外。

1)使用apns_test的第一个测试(节点测试)
如果这将发送测试通知,则说明您的安全性配置存在问题。

最终将带有证书的文件放入war文件。如果要测试外部文件夹,则可能会遇到此问题。

当我在war文件中放入证书时,可以使用此功能。

关于java - Java版本为1.6.0_37的Centos中的APNS网络IOException SSL握手失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36602606/

10-10 15:07