com.facebook.presto.execution.QueryStateMachine.addStateChangeListener()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.6k)|赞(0)|评价(0)|浏览(80)

本文整理了Java中com.facebook.presto.execution.QueryStateMachine.addStateChangeListener方法的一些代码示例,展示了QueryStateMachine.addStateChangeListener的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryStateMachine.addStateChangeListener方法的具体详情如下:
包路径:com.facebook.presto.execution.QueryStateMachine
类名称:QueryStateMachine
方法名:addStateChangeListener

QueryStateMachine.addStateChangeListener介绍

[英]Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leaking this when adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.
[中]监听器总是使用一个专用的通知线程池进行异步通知,因此,在构造函数中添加监听器时,应注意避免泄漏。此外,由于异步执行,可能会观察到通知无序。

代码示例

代码示例来源:origin: prestodb/presto

@Override
public void addStateChangeListener(StateChangeListener<QueryState> stateChangeListener)
{
  stateMachine.addStateChangeListener(stateChangeListener);
}

代码示例来源:origin: prestodb/presto

@Override
public void addStateChangeListener(StateChangeListener<QueryState> stateChangeListener)
{
  try (SetThreadName ignored = new SetThreadName("Query-%s", stateMachine.getQueryId())) {
    stateMachine.addStateChangeListener(stateChangeListener);
  }
}

代码示例来源:origin: prestodb/presto

metadata,
    warningCollector);
queryStateMachine.addStateChangeListener(newState -> QUERY_STATE_LOG.debug("Query %s is %s", queryStateMachine.getQueryId(), newState));

代码示例来源:origin: prestodb/presto

stateMachine.addStateChangeListener(state -> {
  if (!state.isDone()) {
    return;

代码示例来源:origin: prestodb/presto

queryStateMachine.addStateChangeListener(newState -> {
  if (newState.isDone()) {
    queryStateMachine.updateQueryInfo(Optional.ofNullable(getStageInfo()));

代码示例来源:origin: prestodb/presto

stateMachine.addStateChangeListener(state -> {
  if (state.isDone()) {
    closeSplitSources(outputStageExecutionPlan);

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

@Override
public void addStateChangeListener(StateChangeListener<QueryState> stateChangeListener)
{
  stateMachine.addStateChangeListener(stateChangeListener);
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

@Override
public void addStateChangeListener(StateChangeListener<QueryState> stateChangeListener)
{
  try (SetThreadName ignored = new SetThreadName("Query-%s", stateMachine.getQueryId())) {
    stateMachine.addStateChangeListener(stateChangeListener);
  }
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

stateMachine.addStateChangeListener(state -> {
  if (!state.isDone()) {
    return;

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

/**
 * Created QueryStateMachines must be transitioned to terminal states to clean up resources.
 */
public static QueryStateMachine begin(QueryId queryId, String query, Session session, URI self, boolean transactionControl, TransactionManager transactionManager, Executor executor)
{
  session.getTransactionId().ifPresent(transactionControl ? transactionManager::trySetActive : transactionManager::checkAndSetActive);
  Session querySession;
  boolean autoCommit = !session.getTransactionId().isPresent() && !transactionControl;
  if (autoCommit) {
    // TODO: make autocommit isolation level a session parameter
    TransactionId transactionId = transactionManager.beginTransaction(true);
    querySession = session.withTransactionId(transactionId);
  }
  else {
    querySession = session;
  }
  QueryStateMachine queryStateMachine = new QueryStateMachine(queryId, query, querySession, self, autoCommit, transactionManager, executor);
  queryStateMachine.addStateChangeListener(newState -> log.debug("Query %s is %s", queryId, newState));
  queryStateMachine.addStateChangeListener(newState -> {
    if (newState.isDone()) {
      session.getTransactionId().ifPresent(transactionManager::trySetInactive);
    }
  });
  return queryStateMachine;
}

相关文章

微信公众号

最新文章

更多