【问题标题】:Grails neo4j plugin issueGrails neo4j 插件问题
【发布时间】:2014-08-30 02:20:35
【问题描述】:

我正在尝试为 neo4j 使用 2.0.0-M1 版本的 grails 插件,但是当我尝试保存任何实体时,它给了我错误:

在您进行编辑时,该实例已被其他用户更新。 Stacktrace 如下:org.grails.datastore.mapping.core.OptimisticLockingException:当您在 org.grails.datastore.gorm.neo4j.NodePendingUpdate.run(NodePendingUpdate.java:83) 进行编辑时,该实例已被另一个用户更新

如果我尝试使用 2.0.0-M2 版本,我得到了错误:

groovy.lang.MissingMethodException:没有方法签名:groovy.util.ConfigObject.startsWith() 适用于参数类型:(java.lang.String) 值:[jdbc:neo4j:instance:]

同时告诉我2.0.0-M2是否支持休息。

请尽快回复。

【问题讨论】:

    标签: grails neo4j


    【解决方案1】:

    配置从 M1 到 M2 发生了显着变化。该插件现在在内部使用 Neo4j JDBC 驱动程序。我还没有找到足够的时间来更新文档,同时请参阅https://github.com/sarmbruster/neo4jsample/blob/neo4j_2.0/grails-app/conf/DataSource.groovy 以获取有效的示例配置。

    您提到的错误似乎是由不正确的配置引起的。

    M2 可以使用远程数据库,只需设置datasource.url="jdbc:neo4j://localhost:7474/",见https://github.com/sarmbruster/neo4jsample/blob/neo4j_2.0/grails-app/conf/DataSource.groovy#L13

    【讨论】:

    • 感谢您的快速回复,但我仍然遇到问题:java.lang.ClassCastException: java.lang.String cannot be cast to org.neo4j.graphdb.GraphDatabaseService 我也将 buildconfig.groovy 复制为以及您为我提供链接的示例项目中的 datasource.grrove
    • 我也尝试过休息,项目运行成功但是当我尝试像 long id = 5 这样持久化对象时;人人 = 新人(); //person.setId(id); person.setName("ankit"); println person.save(flush:true);我再次收到错误:在您编辑时,该实例已由另一个用户更新。 Stacktrace 如下: org.grails.datastore.mapping.core.OptimisticLockingException:当您在 org.grails.datastore.gorm.neo4j.NodePendingUpdate.run(NodePendingUpdate.java:85) 进行编辑时,该实例已被另一个用户更新
    • 是的,忽略第二条评论,我得到了它的工作,但嵌入式的第一个问题仍然存在。顺便说一句,感谢您提供这样的插件
    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多