/** * Spawns a new thread for awaiting the result future (which will force the * reducer to inform about the progress). * * @param job * @param analysisJobMetrics * @param resultFuture */ private void awaitAndInformListener(final AnalysisJob job, final AnalysisJobMetrics analysisJobMetrics, final RowProcessingMetrics rowProcessingMetrics, final AnalysisResultFuture resultFuture) { SharedExecutorService.get().execute(new Runnable() { @Override public void run() { resultFuture.await(); if (resultFuture.isSuccessful()) { _analysisListener.jobSuccess(job, analysisJobMetrics); } } }); }
/** * Constructs an {@link AnalyzerResultFuture} * * @param name * a name/label to use for presenting and distinguishing this * result from others. * @param resultRef * a reference for the result being processed. */ public AnalyzerResultFuture(String name, final Ref<? extends R> resultRef) { _name = name; _countDownLatch = new CountDownLatch(1); _result = null; _error = null; SharedExecutorService.get().submit(new Runnable() { @Override public void run() { try { _result = resultRef.get(); onSuccess(); } catch (RuntimeException e) { _error = e; onError(); } finally { _countDownLatch.countDown(); } } }); }
private void updateCategories() { SharedExecutorService.get().submit((Runnable) () -> { final DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Categories"); _client.refreshCategories(); final Collection<Category> categories = _client.getCategories(); for (final Category category : categories) { final DefaultMutableTreeNode categoryNode = new DefaultMutableTreeNode(category); rootNode.add(categoryNode); } final TreeModel treeModel = new DefaultTreeModel(rootNode); _categoryTree.setModel(treeModel); }); }
ExecutorService executorService = SharedExecutorService.get(); executorService.submit(new Runnable() { @Override
ExecutorService executorService = SharedExecutorService.get(); executorService.submit(new Runnable() { @Override
@Override public boolean next() { if (_rowPublisher == null) { // first time, create the publisher _rowPublisher = new RowPublisherImpl(this); logger.info("Starting separate thread for publishing action: {}", _publishAction); Runnable runnable = new Runnable() { public void run() { boolean successful = false; try { _publishAction.run(_rowPublisher); logger.debug("Publshing action finished!"); successful = true; } catch (Exception e) { _rowPublisher.failed(e); } if (successful) { _rowPublisher.finished(); } }; }; SharedExecutorService.get().submit(runnable); } return _rowPublisher.next(); }
@Override public boolean next() { if (_rowPublisher == null) { // first time, create the publisher _rowPublisher = new RowPublisherImpl(this); logger.info("Starting separate thread for publishing action: {}", _publishAction); Runnable runnable = new Runnable() { public void run() { boolean successful = false; try { _publishAction.run(_rowPublisher); logger.debug("Publshing action finished!"); successful = true; } catch (Exception e) { _rowPublisher.failed(e); } if (successful) { _rowPublisher.finished(); } }; }; SharedExecutorService.get().submit(runnable); } return _rowPublisher.next(); }
_error = null; SharedExecutorService.get().submit(() -> { try { _result = resultRef.get();
/** * Spawns a new thread for awaiting the result future (which will force the * reducer to inform about the progress). * * @param job * @param analysisJobMetrics * @param resultFuture */ private void awaitAndInformListener(final AnalysisJob job, final AnalysisJobMetrics analysisJobMetrics, final RowProcessingMetrics rowProcessingMetrics, final AnalysisResultFuture resultFuture) { SharedExecutorService.get().execute(() -> { resultFuture.await(); if (resultFuture.isSuccessful()) { _analysisListener.jobSuccess(job, analysisJobMetrics); } }); }