从scala程序启动和停止solr服务器

时间:2014-02-12 09:32:24

标签: scala solr embedded-jetty scalatest

Solr在示例文件夹中附带了打包的jetty jar start.jar。对于我的scalatest自动化,我需要控制solr从我的scalatest模块开始和停止。我怎样才能做到这一点 ?请指导和建议。

1 个答案:

答案 0 :(得分:1)

written a JUnit rule用于集成测试。此规则启动和停止由Solr代表类JettySolrRunner包装的Jetty服务器。

使用嵌入式Jetty启动Solr的相关部分是

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();