@Override public void addStateChangeListener(QueryId queryId, StateChangeListener<QueryState> listener) { requireNonNull(listener, "listener is null"); queryTracker.getQuery(queryId).addStateChangeListener(listener); }
@Override public void addStateChangeListener(QueryId queryId, StateChangeListener<QueryState> listener) { requireNonNull(listener, "listener is null"); queryTracker.getQuery(queryId).addStateChangeListener(listener); }
private void addStatsListeners(QueryExecution queryExecution) { Object lock = new Object(); // QUEUED is the initial state, the counter can be incremented immediately stats.queryQueued(); AtomicBoolean started = new AtomicBoolean(); queryExecution.addStateChangeListener(newValue -> { synchronized (lock) { if (newValue == RUNNING && !started.getAndSet(true)) { stats.queryStarted(); } } }); AtomicBoolean stopped = new AtomicBoolean(); queryExecution.addStateChangeListener(newValue -> { synchronized (lock) { if (newValue.isDone() && !stopped.getAndSet(true) && started.get()) { stats.queryStopped(); } } }); }
private void addStatsListeners(QueryExecution queryExecution) { Object lock = new Object(); // QUEUED is the initial state, the counter can be incremented immediately stats.queryQueued(); AtomicBoolean started = new AtomicBoolean(); queryExecution.addStateChangeListener(newValue -> { synchronized (lock) { if (newValue == RUNNING && !started.getAndSet(true)) { stats.queryStarted(); } } }); AtomicBoolean stopped = new AtomicBoolean(); queryExecution.addStateChangeListener(newValue -> { synchronized (lock) { if (newValue.isDone() && !stopped.getAndSet(true) && started.get()) { stats.queryStopped(); } } }); }
queryExecution.addStateChangeListener(newState -> { if (newState.isDone()) { queryExecution.getSession().getTransactionId().ifPresent(transactionManager::trySetInactive);
queryExecution.addStateChangeListener(newState -> { if (newState.isDone()) { queryExecution.getSession().getTransactionId().ifPresent(transactionManager::trySetInactive);