arquillianテストケースを介してdb4oでエンティティを保存しようとしていますが、DatabaseClosedExceptionが発生しています。
テストセット:com.walterjwhite.address.api.datastore.TestAddressDatastore
テストの実行:1、失敗:0、エラー:1、スキップ:0、経過時間:2.149秒<<<失敗!test_save(com.walterjwhite.address.api.datastore.TestAddressDatastore)経過時間:0.68秒<<<エラー!com.db4o.internal.ObjectContainerBase.checkTransaction(ObjectContainerBase.java:331)atcom.db4o.internal.ObjectContainerBaseのcom.db4o.internal.ObjectContainerBase.checkClosed(ObjectContainerBase.java:303)のcom.db4o.ext.DatabaseClosedException。 asTopLevelStore(ObjectContainerBase.java:412)at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1602)at com.db4o.internal.ObjectContainerBase.store(ObjectContainerBase.java:1584)at com.db4o.internal.ObjectContainerBase .store(ObjectContainerBase.java:1576)at com.db4o.internal.ObjectContainerSession.store(ObjectContainerSession.java:
@Produces
protected ObjectServer openServer(ApplicationContext applicationContext)
{
return (Db4oClientServer.openServer("/tmp/test.db4o", 0));
}
@Produces
public ObjectContainer getObjectContainer(ObjectServer objectServer)
{
return (objectServer.openClient());
}
私のテストケースでは、/tmp内のファイルを使用してオブジェクトサーバーを作成しています。ファイルが作成され、オブジェクトコンテナがセッターを介して自動的に挿入されます。そうでない場合、objectContainerはnullになり、これは別の例外になります。
コードにデバッグステートメントをいくつか入れて、ストアの呼び出しが完了するまでdisposeメソッドが呼び出されないようにして、潜在的な問題を除外できるようにしました。
コンテナを準備するために他に何をする必要がありますか?
ありがとう、
ウォルター