[英]can not create CoreContainer in solrj and embeddedsolrserver in java
[英]Unable to create a CoreContainer when embedding Solr in Jetty
我按照這篇文章上的說明進行操作: http : //javaskeleton.blogspot.de/2011/07/adding-solr-to-existing-web-application.html 。
當我嘗試執行此代碼時:
File home = new File(System.getProperty("solr.solr.home"));
CoreContainer container = new CoreContainer(home.getPath());
container.load();
EmbeddedSolrServer server = new EmbeddedSolrServer(container, "collection1");
我遇到以下錯誤:
org.apache.lucene.store.LockObtainFailedException:鎖定獲取超時:NativeFSLock @ C:\\ solr-4.6.0 \\ example \\ solr \\ collection1 \\ data \\ index \\ write.lock
經調查,在加載CoreContainer時會發出錯誤。 它嘗試將文件鎖定在顯然已鎖定的索引中。
進一步的調查顯示,SolrRequestFilter(由Jetty初始化的那個)也實例化了一個CoreContainer,我猜測他是犯罪者。 當我從web.xml中刪除SolrRequestFilter定義時,我能夠成功實例化CoreContainer和EmbeddedServer。
我正在尋找有關如何解決該問題的見解,因為它似乎應該可以工作。
您必須找到鎖定此索引的人。
另外,有幾種方法可能會有所幫助:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.