使用するScheduledExecutorService hazelcastから3.8メモリ不足例外があります。物事は、私は1日中にいくつかのイベントについてユーザーに思い出させるべきサービスを作っている。タスクの実行はフォールトトレラントでなければなりません。 ユーザーはScheduledExecutorServiceのタスクである新しいリマインダを設定します。したがって、タスクの量は1日に数千人になる可能性があります。各タスクは、スケジュール(Runnableコマンド、ロングディレイ、TimeUnitユニット)を使用してワンショットアクションとしてスケジューラに追加されます。遅延は24時間を超えることはできません。テストをしてループでタスクを追加し始めたとき、私は例外を持っています。私は実行後の仕事がメモリから削除されると思ったが、おそらく私は間違っていた。Hazelcast ScheduledExecutorService
あなたは、いくつかの質問には答えることができます:
- タスクが実行後にメモリから削除されるべきか?
- これを行うための設定はありますか?
- 多くのワンショットアクションタスクにScheduledExecutorServiceを使用できますか?
- hazelcastビットと私の課題を解決するための別の方法がありますすることはScheduledExecutorService
future.Dispose()は、scheduledTaskが実行中またはキャンセルされたときにいつでも呼び出される必要があると思います。多くのタスクをスケジューリングしようとすると、たとえそれぞれが実行されたとしても、「最大容量に達しました」ということになります。 – bachden