任何想法?我们同时使用其他前端线程,所以我想知道这是否与某种程度有关。
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1038)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96)
at com.google.appengine.tools.development.TimedFuture.get(TimedFuture.java:41)
at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:86)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:86)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:86)
at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:71)
at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:32)
at com.google.appengine.api.datastore.TransactionImpl.commit(TransactionImpl.java:110)
at org.gails.infrastructure.google.DatastoreGAE.commitTransaction(DatastoreGAE.java:261)
还报告了http://code.google.com/p/googleappengine/issues/detail?id=8873&thanks=8873&ts=1361788757
答案 0 :(得分:0)
“当前事务”是线程本地的。如果您在并行线程中执行事务,那么在使用.getCurrentTransaction()
时要小心。有关详细信息,请参阅文档:https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreService#beginTransaction()