Когда я использую следующий код в сервлете, работающем в tomcat7 (также протестированном в tomcat6) на сервере Ubuntu 10.10 (openjdk 1.6.0_20 64bit), процесс java использует 100% процессор и выше после того, как соединение было установлено один раз.
ODatabaseObjectTx db = ODatabaseObjectPool.global().acquire("remote:localhost/test", "test", "test");
db.getEntityManager().registerEntityClass(BlogPost.class);
List<BlogPost> posts = db.query(new OSQLSynchQuery<BlogPost>("select * from BlogPost order by date desc"));
db.close();
Кто-нибудь знает, как решить эту проблему?
РЕДАКТИРОВАТЬ: проблема также возникает сразу после приобретения. Создается поток "ClientService", который вызывает высокую нагрузку. Я сделал несколько дампов потоков, и он всегда показывает одно и то же для этого потока:
"ClientService" daemon prio=10 tid=0x00007f4d88344800 nid=0x558e runnable [0x00007f4d872da000]
java.lang.Thread.State: RUNNABLE
at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:127)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1239)
at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:431)
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.endResponse(OChannelBinaryAsyn
ch.java:73)
at com.orientechnologies.orient.client.remote.OStorageRemoteServiceThread.execute(OStorageRemoteServiceThread
.java:59)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:48)
Когда я приостанавливаю поток в отладчике, высокая нагрузка останавливается, пока я не нажму «Продолжить».