JavaPNS发送通知时发生异常

时间:2012-06-15 10:46:48

标签: java iphone ios ipad apple-push-notifications

在通过JavaPNS发送推送通知时,发生以下消息的异常。

  

线程中的异常“LIST模式下的JavaPNS分组通知线程”   java.lang.OutOfMemoryError:Java堆空间

我想原因是因为我尝试将通知发送给太多用户一次。

public void send (List<Device> devices, Object keystore, String password, boolean production) {

       /* Prepare a simple payload to push */ 
        PushNotificationPayload payload = PushNotificationPayload.alert("Hello World!");


       /* Decide how many threads you want to create and use */ 
        int threads = 30;


       /* Start threads, wait for them, and get a list of all pushed notifications */ 
        List<PushedNotification> notifications = Push.payload(payload, keystore, password, production, threads, devices);


}

我将73,889个设备令牌放入列表devices并收到例外。

您认为我需要多次发送通知吗? 有没有人想过向很多人发送通知?

谢谢!

1 个答案:

答案 0 :(得分:1)

我可以为您的问题考虑两种解决方案:

1)发送批次...说20k

2)增加堆内存大小

例如: java -Xms512m -Xmx512m

(做搜索......)