From d61867f1c14a06f00e8659bdf33cf4dce86c6368 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Fri, 2 Jun 2017 10:44:37 +0300 Subject: [PATCH] =?UTF-8?q?Spider:=20=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D1=82=D0=B8=D1=82=D1=8C=20=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BA=D0=BE=D0=BD=D0=BA=D1=80?= =?UTF-8?q?=D0=B5=D1=82=D0=BD=D1=8B=D0=B9=20=D1=81=D0=BA=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit теперь при запуске "паука" можно указать наименование сканера, который сейчас должен работать --- .../kinosearch/kinosearch3/spider/Main.java | 6 +++++- .../kinosearch/kinosearch3/spider/Spider.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/kinosearch/kinosearch3/spider/Main.java b/src/main/java/kinosearch/kinosearch3/spider/Main.java index 09827f1..79c0364 100644 --- a/src/main/java/kinosearch/kinosearch3/spider/Main.java +++ b/src/main/java/kinosearch/kinosearch3/spider/Main.java @@ -11,6 +11,10 @@ public class Main { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("/kinosearch/kinosearch3/spider/spring.xml"); Spider spider = ctx.getBean("spider", Spider.class); - spider.start(); + if (args.length > 0 && !args[0].trim().isEmpty()) { + spider.start(args[0]); + } else { + spider.start(); + } } } diff --git a/src/main/java/kinosearch/kinosearch3/spider/Spider.java b/src/main/java/kinosearch/kinosearch3/spider/Spider.java index 5809ee5..b825f4c 100644 --- a/src/main/java/kinosearch/kinosearch3/spider/Spider.java +++ b/src/main/java/kinosearch/kinosearch3/spider/Spider.java @@ -16,11 +16,28 @@ public class Spider { this.fileDownloader = fileDownloader; } + /** + * Запуск всех сканеров + */ void start() { + start(null); + } + + /** + * Запуск только одного сканера + * @param scannerName название сканера + */ + void start(String scannerName) { fileDownloader.start(); ThreadGroup threadGroup = new ThreadGroup("Scanners"); for (ScannerCinema scanner : scanners) { + if (scannerName != null && !scannerName.isEmpty()) { + if (!scanner.getName().equalsIgnoreCase(scannerName) && + !scanner.getName().equalsIgnoreCase(scannerName+"Scanner")) { + continue; + } + } (new Thread(threadGroup, scanner::run, "Scanner " + scanner.getName())).start(); }