I would like to know if I can use tinkerpop within Akka Futures, so far when I commit my changes to the graph they don't get persisted.
I understand tinkerpop is a thread-local library which mean I'd need to set my thread again within the future ODatabaseRecordThreadLocal.INSTANCE.set(thread)
I tried the following method without success :
def test[T](graphChanges: => T): T = {
val thread = ODatabaseRecordThreadLocal.INSTANCE.get
try graphChanges finally {
ODatabaseRecordThreadLocal.INSTANCE.set(thread)
GraphPool.get("partitioned").commit
}
}
// collect tinkerpop frames
test {
future {
// add changes to my tinkerpop frames
}
}
I would like to have on Tinkerpop thread per play.mvc.Http.Context
Here is a sample project with what I want to achieve : https://github.com/D-Roch/tinkerpop-play