ScheduledThreadPoolExecutorを見つめているときに、次の例外が発生します。これを使用して、1分ごとにサーバーをポーリングします。
01-11 18:45:50.243: E/AndroidRuntime(2427): Caused by: java.util.concurrent.RejectedExecutionException: pool=0/2147483647, queue=0
私のコード
stpe.scheduleWithFixedDelay(new Runnable() {
public void run() {
//Start Polling:
Calendar cal = Calendar.getInstance();
cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println( sdf.format(cal.getTime()) );
Log.d("Polling", sdf.format(cal.getTime()) + " Polling for devices");
HttpUtil httpUtil = new HttpUtil(mContext);
httpUtil.setJNAPCode(R.string.action_devices);
httpUtil.executeJNAPAction(true);
}
},0, 60,TimeUnit.SECONDS);
これは、アクティビティが作成されたときに呼び出されます。アクティビティを開始するたびにこの例外が発生します。つまり、クラッシュ後に次にロードしたときに機能します。
アクティビティを終了する前に、 stpe.shutdownNow()を使用してシャットダウンしました。しかし、アプリケーションのロード後にこのアクティビティが次に作成されると、例外が発生します。