How do I use Gremlin sessions in Neptune?(如何在海王星中使用Gremlin会话?)
问题描述
我正在尝试对Amazon海王星使用Gremlin sessions。我可以在会话之外很好地执行字节码查询,并且可以在会话客户端上运行字符串查询,但尝试使用会话客户端运行字节码查询会导致以下错误:
"code":"MalformedQueryException",
"detailedMessage":"Message with op code [bytecode] is not recognized."
我已完全按照AWS文档操作。
Cluster cluster = Cluster.build().with {
addContactPoint('host')
port(8182)
enableSsl(true)
serializer(Serializers.GRAPHBINARY_V1D0)
create()
}
def client = cluster.connect('session ID')
println client.submit('g.V()').all().get() // works
println traversal().withRemote(DriverRemoteConnection.using(client))
.V().iterate() // returns the error above
println traversal().withRemote(DriverRemoteConnection.using(cluster))
.V().iterate() // works, without a session
我使用的是Gremlin 3.4.8。如何使其正常工作?
推荐答案
基于字节码的请求在海王星中根本不受支持(甚至作为参考实现的Gremlin服务器本身也不受支持)。造成这种差异的主要原因是,TinkerPop不想在已经使用的会话基础上进一步推广会话的使用。TinkerPop在很大程度上为工具支持的狭义用例构建了会话--例如Gremlin控制台远程连接、可视化工具包和图形分析工具。然而,考虑到Gremlin对远程多请求事务用例的弱支持,用户已经扩展了会话使用,以此作为解决该弱点的一种方法。
我感觉这种扩展可能会迫使TinkerPop在会话中提供字节码支持,但到目前为止还没有决定。另一种选择是改善对事务的支持,但考虑到这种变化的性质,这在TinkerPop 3.x的范围内可能是不可能的。
目前,如果您希望使用会话,则只能提交脚本。
这篇关于如何在海王星中使用Gremlin会话?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在海王星中使用Gremlin会话?


- 如何指定 CORS 的响应标头? 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 转换 ldap 日期 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 获取数字的最后一位 2022-01-01