Java db4o-DatabaseClosedException

Java db4o-DatabaseClosedException,java,db4o,jboss-arquillian,Java,Db4o,Jboss Arquillian,我试图通过arquillian测试用例存储一个具有db4o的实体,并得到一个DatabaseClosedException: 测试集:com.walterjwhite.address.api.datastore.TestAddressDatastore 测试运行:1,失败:0,错误:1,跳过:0,所用时间:2.149秒过去发生在我身上时,在引发此异常之前,较早的错误已关闭数据库。我的建议是在抛出此错误之前查找其他错误。您是否看到在tmp中创建的文件test.db4o? 确保您写入数据库的目录存

我试图通过arquillian测试用例存储一个具有db4o的实体,并得到一个DatabaseClosedException:


测试集:com.walterjwhite.address.api.datastore.TestAddressDatastore
测试运行:1,失败:0,错误:1,跳过:0,所用时间:2.149秒过去发生在我身上时,在引发此异常之前,较早的错误已关闭数据库。我的建议是在抛出此错误之前查找其他错误。

您是否看到在tmp中创建的文件test.db4o?
确保您写入数据库的目录存在,并且尝试创建数据库的进程可以访问该目录。

我找到了它。。。我没有在我的bean上指定正确的作用域。。。我编写了一个没有Weld/CDI的简单测试应用程序,效果很好。ObjectServer几乎在打开后立即关闭

在我将其更改为适当的作用域(服务器的单例)之后,它就工作了


Walter

是的,我指出文件已创建且大于0字节。好的,可以。可能是在构建过程中在工厂中抛出了一个异常,我没有记录它,因此不知道它。
@Produces
protected ObjectServer openServer(ApplicationContext applicationContext)
{
    return (Db4oClientServer.openServer("/tmp/test.db4o", 0));
}

@Produces
public ObjectContainer getObjectContainer(ObjectServer objectServer)
{
    return (objectServer.openClient());
}