正在试 稍等
现在试完了,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 的 错误
麻烦你贴图
这是你自己加的打印啊,我咋知道你这是加那的呀
你看 authenticate 的时候,服务端返回的数据结构 AuthResponse 里面的值
这个我打印一下哈 我把其他两个错误截图发你
你为啥用的还是2.0.0的包,不是让你用2.0.1的吗
sessionid为0
认证时返回的AuthResponse: AuthResponse (
error_code : SUCCEEDED (0)
)
把你们的代码复制到这里了 代码是一样的哈
AuthResponse 里面没有session_id的信息?
没有返回id信息 这就是id为0的时候