2013-03-26 160 views
1

我有Solr在Jetty服務器上運行,我希望能夠更新配置文件並讓我的應用程序在不重新啓動整個服務器的情況下接受更改。具體來說,我正在尋找類似於在Tomcat中觸摸web.xml的內容。這是可能的,如果是這樣,我該怎麼做?我可以在不重新啓動Jetty服務器的情況下更新應用程序配置文件嗎?

編輯:

具體而言,我想在一個外部文件來更新應用程序特定的信息,我想使應用程序加載這些新的數據都無需重啓服務器。

回答

2

有幾種方法可以實現這一點(假設你正在考慮一般配置重新加載)。您可以讓後臺進程線程輪詢文件以查找上次更改的時間戳,並觸發重新加載。或者你可以檢查每個配置值查找的時間戳,如果它不經常發生。但我的首選方法是通過JMX或只能從「內部」訪問的URL公開「重新加載配置」操作。

+1

碼頭有這個功能,它只是有Solr的槓桿作用 – 2013-03-26 20:52:02

+0

當然,碼頭有一個文件掃描儀,可以重新載入文件的更改應用程序的問題,但我以一般的方式,並沒有重新啓動應用程序解釋的問題。 – NilsH 2013-03-26 20:54:59

+0

結果發現一個開發人員放入一個xml文件,通過觸摸重新加載,類似於您的「重新加載配置」選項。 – 2013-03-27 18:05:45

1

如果您運行的是Solr 4+並且正在討論schema.xml和solrconfig.xml,那麼您需要'Reload Core',它位於Web Admin UI中的core/collection management下。你也可以從URL中觸發它。

+0

不完全,但謝謝你的提示。 – 2013-03-26 20:44:59

0

從Apache solr管理員,轉到核心管理和重新加載相應的核心。如果您使用solr雲,那麼這太容易了。只需通過zookeeper重新加載配置即可。這些更改僅在完成複製後纔可見。

相關問題