2014-02-12 54 views
2

Solr在示例文件夾中包含打包的jetty jar start.jar。對於我的scalatest自動化,我需要控制solr開始和停止從我的scalatest模塊。我怎樣才能做到這一點 ?請指導和建議。從scala程序啓動和停止solr服務器

+0

由於我不熟悉斯卡拉,我只能提供一個Java樣本。這會幫助你嗎? – cheffe

+1

當然我可以關聯和工作出路 –

回答

1

我有written a JUnit rule用於集成測試。此規則代表類JettySolrRunner啓動和停止由Solr封裝的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();