Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在neo4j中获取以下错误“java.lang.UnsupportedOperationException:…”_Java_Neo4j_Graph Databases - Fatal编程技术网

在neo4j中获取以下错误“java.lang.UnsupportedOperationException:…”

在neo4j中获取以下错误“java.lang.UnsupportedOperationException:…”,java,neo4j,graph-databases,Java,Neo4j,Graph Databases,我有一个用例,需要在neo4j中以并行线程运行存储的proc。我已经编写了存储过程,并将其包含在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 t

我有一个用例,需要在neo4j中以并行线程运行存储的proc。我已经编写了存储过程,并将其包含在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,它不允许显式的事务/线程管理。如果需要在过程中执行此操作,则必须使用以下非公共API:

@Context
GraphDatabaseAPI graphDb
这一个是没有包装,因此允许你做所有肮脏的事情。有关实际示例,请参见使用时的

@Context
GraphDatabaseService graphDb
您将得到一个包装好的GDS,它不允许显式的事务/线程管理。如果需要在过程中执行此操作,则必须使用以下非公共API:

@Context
GraphDatabaseAPI graphDb

这一个是没有包装,因此允许你做所有肮脏的事情。有关真实世界的示例,请参见

谢谢@Stefan Armburster,你真的救了我!谢谢@Stefan Armburster,你真的救了我!