编程语言
首页 > 编程语言> > java – 在多线程中使用titan图形的最佳实践是什么?

java – 在多线程中使用titan图形的最佳实践是什么?

作者:互联网

我用spring boot构建了一个Web服务.我使用titan graph作为跨Web服务访问的单例.因此,如果对Web服务有多个请求,Web服务器将生成线程来处理请求,并且将在这些线程中使用titan图.这种方法有什么问题吗?我使用titan graph 1.0.0和tinkerpop 3.0.1-incubating.所以titan图对我来说很新,我不知道在多线程中使用titan图是否有任何冲突.如果这种方法有问题,那么在多线程中使用titan图形的最佳做法是什么?谢谢你的帮助.

解决方法:

以这种方式使用Titan是完全可以接受的.您只需要确保事务之间不会泄漏事务.根据TinkerPop语义,Graph实例上的事务绑定到当前线程.因此,每个HTTP请求的结束都需要使用commit()或rollback()来关闭事务,具体取决于请求的成功或失败.如果您甚至不确定是否始终关闭事务,那么您应该考虑在请求开始时发出rollback()以清除前一个状态中的任何陈旧状态.

标签:tinkerpop3,titan,java
来源: https://codeday.me/bug/20190824/1706379.html