如何将全局变量添加到嵌入式Gremlin服务器实例?
另外,我想避免从文件加载服务器配置,尽管我可以从类路径加载资源。
答案 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
请注意,在这个新模型下,您还有两个其他选项可用于添加全局绑定...您还可以:
BindingsGremlinPlugin
以编程方式添加全局绑定GremlinPlugin
实例以添加绑定答案 1 :(得分:0)
虽然{@ 1}}已被弃用,但看起来我们可以这样做。
getGlobalBindings()