Tag: filelock

禁用Neo4j图形数据库的锁定?

我的应用程序在/tmp/import.db填充Neo4j图形数据库。 除了我的unit testing,我还想使用Neo4j浏览器(AKA Neo4j社区)在同一个数据库中进行一些挖掘。 当浏览器运行时,我的应用程序在运行时崩溃,因为它被锁定的数据库: Exception in thread “main” java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /tmp/import.db at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:330) at org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:63) at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:92) at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:198) at org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:69) at no.marcello.cmdb.Import.(Import.java:34) at no.marcello.cmdb.Main.main(Main.java:10) Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component ‘org.neo4j.kernel.StoreLockerLifecycleAdapter@5d20e46’ was successfully initialized, but failed to start. Please see attached cause exception. at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:509) at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:307) … 6 more Caused […]

在Java中,当该文件被其他线程锁定时,有没有办法读取文件?

所以我使用以下命令在文件上创建一个锁,以便我可以独占编辑它: File file = new File(filename); channel = new RandomAccessFile(file, “rw”).getChannel(); lock = channel.tryLock(); 现在我有第二个线程想要访问同一个文件 – 只是为了阅读,而不是编辑。 我怎么做? 现在第二个线程将抛出一个ioexception并通知我该文件已被锁定。 这可行吗? 有什么建议么? 谢谢

Java:在不锁定文件的情况下打开和读取文件

我需要能够用Java模仿’tail -f’。 我正在尝试读取一个日志文件,因为它是由另一个进程写的,但是当我打开文件来读取它时,它会锁定文件而另一个进程无法再写入它。 任何帮助将不胜感激! 这是我目前使用的代码: public void read(){ Scanner fp = null; try{ fp = new Scanner(new FileReader(this.filename)); fp.useDelimiter(“\n”); }catch(java.io.FileNotFoundException e){ System.out.println(“java.io.FileNotFoundException e”); } while(true){ if(fp.hasNext()){ this.parse(fp.next()); } } }