我想知道两者有什么区别
scraper.exitExecution() and
scraper.stopExecution() and
scraper.finishExecutingProcessor()
我曾尝试查看java doc,但在那里找不到任何东西。似乎没有适当的文档。请帮忙。
我需要一种在超时后停止执行刮板的方法,我该怎么做?
我想知道两者有什么区别
scraper.exitExecution() and
scraper.stopExecution() and
scraper.finishExecutingProcessor()
我曾尝试查看java doc,但在那里找不到任何东西。似乎没有适当的文档。请帮忙。
我需要一种在超时后停止执行刮板的方法,我该怎么做?
为什么不直接下载sourses
库并查看它呢?
源码分析表明,区别仅在于这些函数设置的状态。
STATUS_STOPPED
被解释为该配置被用户中止。
STATUS_EXIT
被解释为配置刚刚退出。
即它们几乎相等。
我们一起做吧:
一:
public void exitExecution(String message) {
setStatus(STATUS_EXIT);
this.message = message;
}
二:
public void stopExecution() {
setStatus(STATUS_STOPPED);
}
接下来,去上课,这是使用or状态BaseProcessor
的两个地方之一:STATUS_EXIT
STATUS_STOPPED
public Variable run(Scraper scraper, ScraperContext context) {
int scraperStatus = scraper.getStatus();
if (scraperStatus == Scraper.STATUS_STOPPED || scraperStatus == Scraper.STATUS_EXIT) {
return EmptyVariable.INSTANCE;
}
...
}
另一个在课堂上ConfigPanel
:
public void onExecutionEnd(Scraper scraper) {
...
} else if (status == Scraper.STATUS_STOPPED) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GuiUtils.showWarningMessage("Configuration \"" + configDocument.getName() + "\" aborted by user!");
ide.setTabIcon(ConfigPanel.this, ResourceManager.SMALL_FINISHED_ICON);
}
});
} else if ( status == Scraper.STATUS_EXIT && message != null && !"".equals(message.trim()) ) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GuiUtils.showWarningMessage("Configuration exited: " + message);
ide.setTabIcon(ConfigPanel.this, ResourceManager.SMALL_FINISHED_ICON);
}
});
}
...
}