示例#1
0
 private long getLabelId(HighlyAvailableGraphDatabase db, Label label)
     throws LabelNotFoundKernelException {
   try (Transaction ignore = db.beginTx()) {
     ThreadToStatementContextBridge bridge =
         db.getDependencyResolver().resolveDependency(ThreadToStatementContextBridge.class);
     return bridge.instance().readOperations().labelGetForName(label.name());
   }
 }
 public void accept(DbStructureVisitor visitor) {
   try (Transaction tx = db.beginTx()) {
     try (Statement statement = bridge.get()) {
       showStructure(statement, visitor);
     }
     tx.success();
   }
 }
示例#3
0
文件: Using.java 项目: Analect/neo4j
  @Override
  protected ExtendedExecutionResult getResult(String query, Map<String, Object> parameters)
      throws ShellException, RemoteException {
    GraphDatabaseAPI graphDatabaseAPI = getServer().getDb();
    ServerExecutionEngine engine = getEngine();
    if (engine.isPeriodicCommit(query)) {
      ThreadToStatementContextBridge manager =
          graphDatabaseAPI
              .getDependencyResolver()
              .resolveDependency(ThreadToStatementContextBridge.class);
      TopLevelTransaction tx = manager.getTopLevelTransactionBoundToThisThread(true);
      manager.unbindTransactionFromCurrentThread();

      try {
        return super.getResult(query, parameters);
      } finally {
        manager.bindTransactionToCurrentThread(tx);
      }
    } else {
      return super.getResult(query, parameters);
    }
  }
示例#4
0
 public void resume() throws Exception {
   bridge.bindTransactionToCurrentThread(graphDbTx);
 }
示例#5
0
 public void suspend() {
   graphDbTx = bridge.getTopLevelTransactionBoundToThisThread(true);
   bridge.unbindTransactionFromCurrentThread();
 }
示例#6
0
 private org.neo4j.kernel.TopLevelTransaction activeTransaction() {
   ThreadToStatementContextBridge bridge =
       db.getDependencyResolver().resolveDependency(ThreadToStatementContextBridge.class);
   return bridge.getTopLevelTransactionBoundToThisThread(false);
 }
 @Before
 public void setup() {
   when(bridge.get()).thenReturn(stmt);
 }