代码要求:
我面临的问题:使用位于https://github.com/Azure-Samples/azure-cosmos-db-graph-java-getting-started/blob/master/src/GetStarted/Program.java的教程,我正在构建一个群集,然后使用正确的凭据构建一个客户端对象;因为当所有配置都正确时,它没有任何问题。但是,如果我更改任何参数,DATABASE_ID,COLLECTION_ID或PASSWORD,代码将继续通过群集的构建并通过运行connect()的群集,直到它尝试运行“client.submit(query)”,它将返回NullPointerException 。
问题:是否有一个内置于群集或客户端对象中的方法,如果已成功通过身份验证,则会返回该方法。
CODE CONSOLE:
DATABSE_ID:PURPOSELY_WRONG_DB
COLLECTION_ID:PURPOSELY_WRONG_COLLECTION
PASSWORD:PURPOSELY_WRONG_PASSWORD_TO_TEST_IF_CONNECTION_THROWS_ERROR
QUERY:g.V().count()
START QUERYING GREMLIN SERVER
AT THIS POINT I HAVE PASSED CLIENT.CONNECT()
ABOUT TO SUBMIT THE QUERY.....
java.lang.NullPointerException: null
at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:239)
at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:195)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:367)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:353)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:346)
答案 0 :(得分:0)
Gremlin Server协议使用SASL-based authentication,并且在发送第一个请求时开始验证。
基本握手顺序如下:
但是,不期望空指针异常。
你能提供:
另请参阅Gremlin请求/响应参考here。