【发布时间】:2014-03-10 17:56:54
【问题描述】:
自从 4 天前,在随机的短时间内,我部署的应用程序抛出了这个错误:
org.datanucleus.sco.backed.ArrayList 无法转换为 java.util.Set
我们正在使用 GWT 2.4 / Java 1.7(我们最近从 1.6 迁移到 1.7)
在检索或持久化带有字符串集的实体时会发生这种情况:
import java.util.HashSet;
import java.util.Set;
...
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
public class DbAccount {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
...
@Persistent
private Set<String> accounts;
...
public DbAccount(SerAccount account) throws Exception {
...
this.accounts= new HashSet<String>();
...
key = KeyFactory.createKey(DbCuentas.class.getSimpleName(), this.id);
}
}
我检查了我的整个项目中是否有对 org.datanucleus.sco.backed.ArrayList 的引用,但它不存在。
有什么想法吗?
【问题讨论】:
-
你解决了吗?我有同样的问题。您是否将这些实体作为另一个实体的一部分来获取?含义: DbAccount 是否存在于另一个实体中?我没有得到足够一致的这些错误来调试它。当我们的服务器负载较高时,它们会随机出现。
-
越来越频繁了。 “解决方案”(至少 98%)是将我们的实例从 F1 升级到 F4。
-
很高兴看到你回来回答我的评论(尽管已经快 2 年了;))! :D 此类问题的奇怪错误消息!
标签: java google-app-engine gwt arraylist google-cloud-datastore