现在的位置: 首页 > 综合 > 正文

[续]java爬虫程序出现的exception

2018年02月09日 ⁄ 综合 ⁄ 共 1708字 ⁄ 字号 评论关闭

        今天回到公司,发现周六的爬虫程序停止但是电脑的自动关机没有生效。我重启爬虫程序继续爬网站的log数据。但是很不幸的是它又出现了问题,问题严重到程序无法再爬任何东西就停止了。

        这个exception是:

 Exception in thread "main" com.db4o.ext.DatabaseFileLockedException: E:\workspace\service-monitor\umengmonitor-21150059878c14d1f25004c4-2011-10-27.db
 at com.db4o.internal.JDK_1_4.lockFile(JDK_1_4.java:53)
 at com.db4o.internal.Platform4.lockFile(Platform4.java:439)
 at com.db4o.io.RandomAccessFileFactory.newRandomAccessFile(RandomAccessFileFactory.java:21)
 at com.db4o.io.FileStorage$FileBin.<init>(FileStorage.java:43)
 at com.db4o.io.FileStorage.open(FileStorage.java:22)
 at com.db4o.io.StorageDecorator.open(StorageDecorator.java:27)
 at com.db4o.io.CachingStorage.open(CachingStorage.java:52)
 at com.db4o.internal.IoAdaptedObjectContainer.openImpl(IoAdaptedObjectContainer.java:57)
 at com.db4o.internal.ObjectContainerBase$1.run(ObjectContainerBase.java:140)
 at com.db4o.foundation.DynamicVariable.with(DynamicVariable.java:54)
 at com.db4o.foundation.Environments.runWith(Environments.java:28)
 at com.db4o.internal.ObjectContainerBase.withEnvironment(ObjectContainerBase.java:161)
 at com.db4o.internal.ObjectContainerBase.open(ObjectContainerBase.java:131)
 at com.db4o.internal.IoAdaptedObjectContainer.<init>(IoAdaptedObjectContainer.java:35)
 at com.db4o.internal.ObjectContainerFactory.openObjectContainer(ObjectContainerFactory.java:18)
 at com.db4o.Db4oEmbedded.openFile(Db4oEmbedded.java:65)
 at com.iw.crawl.monitor.MonitorDB.open(MonitorDB.java:29)
 at com.iw.crawl.monitor.MonitorDB.<init>(MonitorDB.java:24)
 at com.iw.crawl.monitor.UmengMain.main(UmengMain.java:202)

      这个程序在运行的时候,已经将所有的多线程全部关闭,读网站写入数据库并关闭均放在一个现成中顺序调用,但是为什么还会出.DatabaseFileLockedException的异常很令人费解。

      一个经验丰富的编程人员说可能是数据库被重复关闭,或者未关闭下再次打开的原因造成。

抱歉!评论已关闭.