连接在认证时出现了session无效的情况

正在试 稍等

现在试完了,session返回0的一直没有出现, 但是我想问一个问题, 如果session在relase后,这个connection会还到池子里去,另一个线程拿到后 依然可以使用吧

如果session在relase后,这个connection会还到池子里去,另一个线程拿到后 依然可以使用吧

是的

那你说的连接线程不安全是指的什么情况下会不安全呢

多个线程 同时 用同个连接的时候

connection = objectPool.borrowObject(waitTime);
在借连接的时候,会借到已占用的连接吗?

这个是自己去保证的,假如你放回池里的连接虽然还给池,但是外面还是接着用的话,那么就会多个人使用,所以就是还的时候要保证,外面的不会用了。这样这里拿到的才是唯一。

现在又出现session为0的情况了,我感觉问题不在客户端 而在服务端,你说的这种情况我感觉我这里不会出现,你们服务端在认证通过后是怎么生产sessionId的呢?

session 为0

pr 给你解决的是 com.vesoft.nebula.client.graph.exception.IOErrorException: Expected protocol id ffffff82 but got 0 和 返回 E_SESSION_INVALID 的 错误
麻烦你贴图

这是你自己加的打印啊,我咋知道你这是加那的呀


在session的execute里

你看 authenticate 的时候,服务端返回的数据结构 AuthResponse 里面的值

这个我打印一下哈 我把其他两个错误截图发你

你为啥用的还是2.0.0的包,不是让你用2.0.1的吗

sessionid为0
认证时返回的AuthResponse: AuthResponse (
error_code : SUCCEEDED (0)
)

把你们的代码复制到这里了 代码是一样的哈

AuthResponse 里面没有session_id的信息?

没有返回id信息 这就是id为0的时候