提问参考模版:
- nebula 版本:v2.0.1
- 部署方式(分布式 / 单机 / Docker / DBaaS):单机
- 是否为线上版本:N
-java client依赖
com.vesoft
client
2.0.0-SNAPSHOT
- 问题的具体描述
1.使用java client连接数据库,因为只有一个图空间,所有没有使用创建pool-获取seesion-释放session-关闭pool方式频繁建立连接,而是使用单例模式创建连接池,只初始化一次,不关闭连接,session只获取一次,如程序不主动调用释放方法,则一直使用该session对象。
问题1.如程序不调用pool的close方法,会不会造成内存泄漏?连接池会不会出现失效或关闭的情况,如何判断连接是否失效或关闭?
问题2.seesion只创建一个,如果多个线程同时使用该session执行语句会出现什么问题?如果多线程并发下,但又不想每执行一个语句就getSession()且use xxx一次,该如何维护?
问题3.session如果不主动释放,idletime=0时但服务挂了或idletime=180时超过配置时间,session失效,有没有判断sessiond对象是否正常的方法?