TinkerPop3> Gremlin服务器>检查是否安装了Graph lib

时间:2018-08-07 03:40:51

标签: tinkerpop3 gremlin-server

在Gremlin服务器中,我这样安装NEO4J库

bin/gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin x.y.z

是否有办法确定此lib是否已安装?


长话短说

我正在模拟存在某些网络问题的情况,因此在运行此功能之前,我禁用了网络连接。

脚本:

#!/bin/bash
echo "PING PING PING PING PING"
bin/gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin x.y.z

if [ $? -eq 0 ]
then
  echo "Successfully Successfully Successfully Successfully"
else
  echo "FAILED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi

网络中断时的结果

PING PING PING PING PING
Redirecting to 'install org.apache.tinkerpop neo4j-gremlin 3.3.1' (-i will be removed in a future release)
Installing dependency org.apache.tinkerpop neo4j-gremlin 3.3.1
Could not install the dependency: Error grabbing Grapes -- [unresolved dependency: org.apache.tinkerpop#neo4j-gremlin;3.3.1: not found]
java.lang.RuntimeException: Error grabbing Grapes -- [unresolved dependency: org.apache.tinkerpop#neo4j-gremlin;3.3.1: not found]
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at groovy.grape.GrapeIvy.getDependencies(GrapeIvy.groovy:424)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at groovy.grape.GrapeIvy.resolve(GrapeIvy.groovy:571)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at groovy.grape.GrapeIvy.resolve(GrapeIvy.groovy:534)
    at groovy.grape.Grape.resolve(Grape.java:202)
    at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
    at org.apache.tinkerpop.gremlin.groovy.util.DependencyGrabber.copyDependenciesToPath(DependencyGrabber.groovy:110)
    at org.apache.tinkerpop.gremlin.server.util.GremlinServerInstall.main(GremlinServerInstall.java:38)
Successfully Successfully Successfully Successfully

要检查bash退出代码是否运行正常,我这样做了

cd wrongfolder
if [ $? -eq 0 ]
then
  echo "Successfully Successfully Successfully Successfully"
else
  echo "FAILED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi

输出

PING PING PING PING PING
/install.sh: line 5: cd: wrongfolder: No such file or directory
FAILED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

所以exit codes可以正常工作,但是对于Gremlin来说却不起作用

1 个答案:

答案 0 :(得分:1)

我只是看了一下代码。加载插件的实用程序似乎没有产生错误代码,而是只是打印错误并正常退出。因此,您所看到的是预期的。

我添加了一个可用于3.2.10、3.3.4和3.4.0的修复程序:

https://github.com/apache/tinkerpop/commit/2d315e828149a132ecabf406af91acc3caec064c

我认为除了解析当前产生的输出外,没有其他方法可以确定成功或失败。