Запуск и остановка сервера solr из программы scala

Solr поставляется с упакованным причалом start.jar в папке примеров. Для моей автоматизации scalatest мне нужно управлять запуском и остановкой solr из моего модуля scalatest. Как я могу это сделать ? Пожалуйста, направьте и подскажите.


person Harsh Gupta    schedule 12.02.2014    source источник
comment
Поскольку я не знаком со Scala, я мог предложить только образец Java. Вам бы это помогло?   -  person cheffe    schedule 13.02.2014
comment
уверен, что я могу сопоставить и найти выход   -  person Harsh Gupta    schedule 13.02.2014


Ответы (1)


Я написал JUnit правило предназначено для интеграционных тестов. Это правило запускает и останавливает сервер Jetty, обернутый Solr от имени класса JettySolrRunner.

Соответствующая часть для запуска Solr со встроенным Jetty:

File solrXml = new File("/solr/home/solr.xml");
File solrHomeDir = solrXml.getParentFile();

int port = 8080;
String context = "/solr";
// use org.apache.solr.client.solrj.embedded.JettySolrRunner
JettySolrRunner jettySolr 
  = new JettySolrRunner(solrHomeDir.getAbsolutePath(), context, port);

boolean waitUntilTheSolrWebAppHasStarted = true;
jettySolr.start(waitUntilTheSolrWebAppHasStarted);

Остановить этот сервер довольно просто

jettySolr.stop();
person cheffe    schedule 13.02.2014