gpt4 book ai didi

java - 在 neo4j 中出现以下错误 "java.lang.UnsupportedOperationException:....."

转载 作者:行者123 更新时间:2023-11-29 07:34:12 25 4
gpt4 key购买 nike

我有一个用例,我需要在 neo4j 的并行线程中运行我的存储过程。我已经编写了存储过程并将其包含在 neo4j 插件中。但是当我运行存储过程时,出现以下错误:

2016-06-24 05:45:54.683+0000 INFO  Remote interface available at http://localhost:7474/
java.lang.UnsupportedOperationException: Creating new transactions and/or spawning threads are not supported operations in store procedures.
at org.neo4j.kernel.impl.proc.ProcedureGDBFacadeSPI.assertSameThread(ProcedureGDBFacadeSPI.java:108)
at org.neo4j.kernel.impl.proc.ProcedureGDBFacadeSPI.isInOpenTransaction(ProcedureGDBFacadeSPI.java:124)
at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTransaction(GraphDatabaseFacade.java:335)
at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.beginTx(GraphDatabaseFacade.java:330)
at example.SearchTask.call(SearchTask.java:33)
at example.SearchTask.call(SearchTask.java:17)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

我了解到在 neo4j 中自定义存储过程不能在并行线程中运行。

但我正在寻找可以并行运行它的方法。

最佳答案

使用时

@Context
GraphDatabaseService graphDb

您将获得一个不允许显式事务/线程管理的封装 GDS。如果您需要在过程中执行此操作,则必须像这样使用非公共(public) API:

@Context
GraphDatabaseAPI graphDb

这个没有包装,因此可以让你做所有讨厌的事情。有关真实世界的示例,请参阅 https://github.com/neo4j-contrib/neo4j-apoc-procedures/blob/master/src/main/java/apoc/periodic/Periodic.java#L26

关于java - 在 neo4j 中出现以下错误 "java.lang.UnsupportedOperationException:.....",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38009870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com