以编程方式将全局变量添加到gremlin服务器

时间:2018-02-10 23:28:28

标签: java gremlin tinkerpop gremlin-server

如何将全局变量添加到嵌入式Gremlin服务器实例?

另外,我想避免从文件加载服务器配置,尽管我可以从类路径加载资源。

2 个答案:

答案 0 :(得分:4)

getGlobalBindings()上的{p> GremlinExecutor确实已被弃用,但javadoc解释了您应如何继续:

  

替换为getScriptEngineManager()以添加全局范围绑定   直接到那个对象。

它来自3.2.5 javadoc,当它最初被弃用以准备3.3.0中的相当大的更改时,实现新接口以更好地概括GremlinScriptEngine。虽然这些新接口是在3.3.0中默认使用的,但它们实际上存在于3.2.x中,可以在那里使用。请注意,getGlobalBindings()方法实际上已在3.3.0中完全删除,因此在升级时最终会出现编译错误。

对于javadoc注释可能存在一些混淆,即使用getScriptEngineManager(),你还必须使用3.2.x代码行中的默认3.3.0 yaml配置......示例如下所示:

https://github.com/apache/tinkerpop/blob/3.3.0/gremlin-server/conf/gremlin-server-classic.yaml#L25

请注意,在这个新模型下,您还有两个其他选项可用于添加全局绑定...您还可以:

  1. 使用BindingsGremlinPlugin以编程方式添加全局绑定
  2. 编写您自己的GremlinPlugin实例以添加绑定

答案 1 :(得分:0)

虽然{@ 1}}已被弃用,但看起来我们可以这样做。

getGlobalBindings()