我刚刚开始使用java/wicket/db4o编写我的第一个webapp,并且所有技术都是我的新技术,所以请原谅可能是一个愚蠢的问题。如何在应用程序关闭/重新启动时关闭db4o连接?
我创建了一个简单的MyDao单例类,它连接到基于文件的db4o数据库,并且可以将一些对象写入并读取它们。我遇到的问题是每次从Netbeans重新部署我的应用程序时,在测试过程中出现com.db4o.ext.DatabaseFileLockedException异常。如果我删除数据库,这将消失。
我想我需要关闭()db4o连接,一旦我的MyDao对象超出范围,但我不知道如何做到这一点。如果我使用Perl,我的MyDao类中会有一个DESTROY()方法,它调用db4o db上的close()。我不知道java中的等价机制是什么。 我试图在我的MyDao对象上使用finalize()方法,但这没有奏效。
在此先感谢。 Tom
这看起来非常有用 - 非常感谢! – Tom 2010-08-30 22:38:32
我相信这会变得有用,但是我发现了一个导致问题的代码中的错误。我为我的测试使用了相同的db4o文件,与我的应用程序的运行版本相同。所以,在部署之后,当我运行我的测试时,他们失败了,因为我的应用程序仍在运行,并且db4o文件被锁定了! – Tom 2010-08-30 23:34:39