基本的なこと:私は、埋め込まれたDB4Oデータベースに裏打ちされたDataNucleusを使用しています。
この簡単なテストを行う場合:
PersistenceManager pm1 = persistenceManagerFactory.getPersistenceManager();
PersistenceManager pm2 = persistenceManagerFactory.getPersistenceManager();
pm1.makePersistent(t1);
pm2.makePersistent(t2);
ファイルロック例外が発生します:
com.db4o.ext.DatabaseFileLockedException: C:\<path>\primary_datastore.data
これは、がどのように機能するのかわからないことを教えてくれますPersistenceManager
。PersistenceManagerFactory
データをクエリまたは永続化する必要があるときはいつでも電話をかけただけでPersistenceManager
、スレッドセーフなものが得られると思いました。
- アプリケーション全体でPersistenceManagerをシングルトンにする必要がありますか?
- JDO / DataNucleusでは、クエリと更新を実行する複数のスレッドはどのように機能しますか?