我很长时间以来一直在讨论这个问题。如果Neo4j事务没有正确关闭(提交或回滚)(这可能是由于例外,或者在事务中间死亡/退出等),那么Neo4j不会释放锁定。如果交易未关闭,Neo4j数据库被锁定
为了解决我需要停止Neo4j并再次启动Neo4j。这不应该被要求。
我在Server Configurations检查它有一个配置org.neo4j.server.transaction.timeout=60
其中默认为60秒。所以如果默认情况下这个设置适用于我,那么应该发生60秒的超时。
如何检查数据库是否被锁定?如何通过代码或配置轻松避免或移除数据库锁定?我正在使用最新的Neo4j 2.2.3。
也许你可以解释你如何使用Neo4j?哪些驱动程序和API? –
我从来没有见过被锁起来。通常,如果您自己处理来自java代码的事务,只要确保使用try-with-resource,以便每个tx都能正确关闭。 –
@MichaelHunger:我正在使用[PHP]语言。我在PHP中使用try catch块并在catch中使用回滚事务。我应该做什么? –