2011-01-12 54 views
1

我有兩臺應用程序服務器連接到生產Apple推送網關(gateway.push.apple.com),兩個應用程序服務器都使用相同的推送證書向相同的應用程序發送通知。我正在使用javapns向APN發送通知。APN未提供我的部分通知

來自其中一個服務器的通知(幾乎)一直被APN忽略:日誌顯示通知被髮送到正確的PushID,但是我的3個測試設備中只有一個能夠實際顯示通知。同時,當我的其他應用程序服務器發送通知時,幾乎立即通過所有三個設備可視化通知。被APN忽略的應用程序服務器正在運行Debian,未被忽略的應用程序服務器正在運行Windows。

到目前爲止,我已驗證:
*兩個應用程序服務器(AS)運行相同的發送代碼,具有相同的設置。
*兩個AS都使用相同的推送證書。
*兩個AS都發送到相同的設備令牌。
*兩個AS實際上都在發送,從這個意義上講,在連接我的APN服務的套接字流中沒有寫入異常。
*兩個AS正在使用相同的推送網關(gateway.push.apple.com:2195)
*兩個AS與推送網關的連接時間不長(最後一條消息後最多10秒)。由於負載,它們都不太頻繁地連接。
*所有測試設備都運行相同的推送應用程序。
*兩臺服務器都安裝了新的Entrust 2048位證書,蘋果宣佈將於2010年12月22日生效。在被忽略的服務器上,我對證書目錄進行了驗證。另一方面 - 我檢查了Windows Internet屬性。
*忽略的服務器位於服務器場中,最近2個月沒有連續運行。未被忽略的服務器在我的開發機器上,經常啓動和停止。
*兩臺服務器過去一直工作正常,他們的通知 - 由APN尊重,直到12月25日或26日。

回答

0

JavaPNS最近更新到2.0,並修復了所有報告的問題直到發佈日期。該圖書館在過去幾周內獲得了顯着的可靠性和錯誤處理改進。如果你仍然遇到JavaPNS的問題,我建議你在http://code.google.com/p/javapns/上試用版本2.0。