的parseObject mergeREST提高ConcurrentModificationException的 [英] ParseObject mergeREST raise ConcurrentModificationException

查看:119
本文介绍了的parseObject mergeREST提高ConcurrentModificationException的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Parse.com的Andr​​oid SDK(版本1.5.1)。

我不知道为什么会发生ConcurrentModificationException的。

Parse.com是非常好的。但是,这是很大的问题。
我不能修改Parse.com SDK。因此,我不能避免这种现象。

我如何避免呢?

 产生的原因:java.util.ConcurrentModificationException
在java.util.LinkedList中的$ LinkIterator.next(LinkedList.java:124)
在com.parse.ParseObject.mergeREST(ParseObject.java:928)
在com.parse.OfflineStore $ $ 13 2.然后(OfflineStore.java:765)
在com.parse.OfflineStore $ $ 13 2.然后(OfflineStore.java:762)
在com.parse.Task $ 10.run(Task.java:448)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeImmediately(Task.java:444)
在com.parse.Task.continueWith(Task.java:318)
在com.parse.Task.continueWith(Task.java:329)
在com.parse.Task $ 8.then(Task.java:381)
在com.parse.Task $ 8.then(Task.java:373)
在com.parse.Task $ 11.run(Task.java:481)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeAfterTask(Task.java:477)
在com.parse.Task.continueWithTask(Task.java:353)
在com.parse.Task.onSuccess(Task.java:373)
在com.parse.Task.onSuccess(Task.java:393)
在com.parse.OfflineStore $ 13.then(OfflineStore.java:762)
在com.parse.OfflineStore $ 13.then(OfflineStore.java:721)
在com.parse.Task $ 11.run(Task.java:481)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeAfterTask(Task.java:477)
在com.parse.Task.continueWithTask(Task.java:353)
在com.parse.Task.continueWithTask(Task.java:364)
在com.parse.Task $ 9.then(Task.java:410)
在com.parse.Task $ 9.then(Task.java:402)
在com.parse.Task $ 11.run(Task.java:481)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeAfterTask(Task.java:477)
在com.parse.Task.access $ 400(Task.java:22)
在com.parse.Task $ 7.then(Task.java:346)
在com.parse.Task $ 7.then(Task.java:343)
在com.parse.Task.runContinuations(Task.java:510)
在com.parse.Task.access $ 800(Task.java:22)
在com.parse.Task $ TaskCompletionSource.trySetResult(Task.java:565)
在com.parse.Task $ TaskCompletionSource.setResult(Task.java:599)
在com.parse.Task $ $ 11 1.then(Task.java:493)
在com.parse.Task $ $ 11 1.then(Task.java:485)
在com.parse.Task $ 10.run(Task.java:448)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeImmediately(Task.java:444)
在com.parse.Task.continueWith(Task.java:318)
在com.parse.Task.continueWith(Task.java:329)
在com.parse.Task $ 11.run(Task.java:485)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeAfterTask(Task.java:477)
在com.parse.Task.access $ 400(Task.java:22)
在com.parse.Task $ 7.then(Task.java:346)
在com.parse.Task $ 7.then(Task.java:343)
在com.parse.Task.runContinuations(Task.java:510)
在com.parse.Task.access $ 800(Task.java:22)
在com.parse.Task $ TaskCompletionSource.trySetResult(Task.java:565)
在com.parse.Task $ TaskCompletionSource.setResult(Task.java:599)
在com.parse.Task $ $ 11 1.then(Task.java:493)
在com.parse.Task $ $ 11 1.then(Task.java:485)
在com.parse.Task $ 10.run(Task.java:448)
在com.parse.Task $ ImmediateExecutor.execute(Task.java:673)
在com.parse.Task.completeImmediately(Task.java:444)
在com.parse.Task.continueWith(Task.java:318)
在com.parse.Task.continueWith(Task.java:329)
在com.parse.Task $ 11.run(Task.java:485)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:573)
在java.lang.Thread.run(Thread.java:841)


解决方案

有什么本质上真的不好我使用parse.com此刻的方式。这是一个非常简单的实现。

我甚至能够用他们提供的例子重现它。

有关我的应用程序这个问题是不厚道的一个问题。不过,我一直能够重现这个时候我杀的应用程序时,应用程序正在启动。这意味着,如果在你的code在启动您的应用程序崩溃,也就是你的解析安装使用了一些无人过问状态的机会。

由于它然后崩溃每当我试图让ParseInstallation对象。

一旦出现这种情况,无论我做什么,应用程序将无法启动。解析API将在内部抛出ConcurrentModificationException,即使我删除应用程序的所有逻辑。

I'm using Parse.com Android SDK(ver 1.5.1).

I don't know why occur ConcurrentModificationException.

Parse.com is very good. But It is big problem. I can't modify Parse.com SDK. So I can't avoid this phenomenon.

How do i avoid it?

Caused by: java.util.ConcurrentModificationException
at java.util.LinkedList$LinkIterator.next(LinkedList.java:124)
at com.parse.ParseObject.mergeREST(ParseObject.java:928)
at com.parse.OfflineStore$13$2.then(OfflineStore.java:765)
at com.parse.OfflineStore$13$2.then(OfflineStore.java:762)
at com.parse.Task$10.run(Task.java:448)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeImmediately(Task.java:444)
at com.parse.Task.continueWith(Task.java:318)
at com.parse.Task.continueWith(Task.java:329)
at com.parse.Task$8.then(Task.java:381)
at com.parse.Task$8.then(Task.java:373)
at com.parse.Task$11.run(Task.java:481)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeAfterTask(Task.java:477)
at com.parse.Task.continueWithTask(Task.java:353)
at com.parse.Task.onSuccess(Task.java:373)
at com.parse.Task.onSuccess(Task.java:393)
at com.parse.OfflineStore$13.then(OfflineStore.java:762)
at com.parse.OfflineStore$13.then(OfflineStore.java:721)
at com.parse.Task$11.run(Task.java:481)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeAfterTask(Task.java:477)
at com.parse.Task.continueWithTask(Task.java:353)
at com.parse.Task.continueWithTask(Task.java:364)
at com.parse.Task$9.then(Task.java:410)
at com.parse.Task$9.then(Task.java:402)
at com.parse.Task$11.run(Task.java:481)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeAfterTask(Task.java:477)
at com.parse.Task.access$400(Task.java:22)
at com.parse.Task$7.then(Task.java:346)
at com.parse.Task$7.then(Task.java:343)
at com.parse.Task.runContinuations(Task.java:510)
at com.parse.Task.access$800(Task.java:22)
at com.parse.Task$TaskCompletionSource.trySetResult(Task.java:565)
at com.parse.Task$TaskCompletionSource.setResult(Task.java:599)
at com.parse.Task$11$1.then(Task.java:493)
at com.parse.Task$11$1.then(Task.java:485)
at com.parse.Task$10.run(Task.java:448)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeImmediately(Task.java:444)
at com.parse.Task.continueWith(Task.java:318)
at com.parse.Task.continueWith(Task.java:329)
at com.parse.Task$11.run(Task.java:485)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeAfterTask(Task.java:477)
at com.parse.Task.access$400(Task.java:22)
at com.parse.Task$7.then(Task.java:346)
at com.parse.Task$7.then(Task.java:343)
at com.parse.Task.runContinuations(Task.java:510)
at com.parse.Task.access$800(Task.java:22)
at com.parse.Task$TaskCompletionSource.trySetResult(Task.java:565)
at com.parse.Task$TaskCompletionSource.setResult(Task.java:599)
at com.parse.Task$11$1.then(Task.java:493)
at com.parse.Task$11$1.then(Task.java:485)
at com.parse.Task$10.run(Task.java:448)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeImmediately(Task.java:444)
at com.parse.Task.continueWith(Task.java:318)
at com.parse.Task.continueWith(Task.java:329)
at com.parse.Task$11.run(Task.java:485)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)

解决方案

There is nothing really inherently bad to the way I am using parse.com at the moment. It is a very simple implementation.

I even was able to reproduce it with the examples they provide.

For my apps this problem is not kind of an issue. However, I keep on being able to reproduce this when I kill the app when the app is starting up. This means that if in your code your app crashes on start, there is a chance that your parse installation goes to some limbo state.

Because it then crashes whenever I try to get the ParseInstallation object.

Once that happens no matter what I do, the application won't start. The parse API will internally throw a ConcurrentModificationException, even if I remove all the logic of the app.

这篇关于的parseObject mergeREST提高ConcurrentModificationException的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆