mirror of
https://github.com/Alfresco/SearchServices.git
synced 2025-09-17 14:21:20 +00:00
SEARCH-56: Switching to use external properties for solr.host,port,baseurl
This commit is contained in:
@@ -128,6 +128,7 @@ import org.alfresco.solr.client.SOLRAPIClient;
|
|||||||
import org.alfresco.solr.client.SOLRAPIClient.GetTextContentResponse;
|
import org.alfresco.solr.client.SOLRAPIClient.GetTextContentResponse;
|
||||||
import org.alfresco.solr.client.StringPropertyValue;
|
import org.alfresco.solr.client.StringPropertyValue;
|
||||||
import org.alfresco.solr.client.Transaction;
|
import org.alfresco.solr.client.Transaction;
|
||||||
|
import org.alfresco.solr.config.ConfigUtil;
|
||||||
import org.alfresco.solr.content.SolrContentStore;
|
import org.alfresco.solr.content.SolrContentStore;
|
||||||
import org.alfresco.solr.content.SolrContentUrlBuilder;
|
import org.alfresco.solr.content.SolrContentUrlBuilder;
|
||||||
import org.alfresco.solr.tracker.IndexHealthReport;
|
import org.alfresco.solr.tracker.IndexHealthReport;
|
||||||
@@ -309,21 +310,12 @@ public class SolrInformationServer implements InformationServer
|
|||||||
contentStreamLimit = Integer.parseInt(p.getProperty("alfresco.contentStreamLimit", "10000000"));
|
contentStreamLimit = Integer.parseInt(p.getProperty("alfresco.contentStreamLimit", "10000000"));
|
||||||
|
|
||||||
// build base URL - host and port have to come from configuration.
|
// build base URL - host and port have to come from configuration.
|
||||||
|
|
||||||
Properties props = AlfrescoSolrDataModel.getCommonConfig();
|
Properties props = AlfrescoSolrDataModel.getCommonConfig();
|
||||||
|
|
||||||
port = Integer.parseInt(props.getProperty("solr.port", getHttpPort("8080")));
|
hostName = ConfigUtil.locateProperty("solr.host", props.getProperty("solr.host"));
|
||||||
String defaultHost;
|
String portNumber = ConfigUtil.locateProperty("solr.port", props.getProperty("solr.port"));
|
||||||
try
|
port = Integer.parseInt(portNumber);
|
||||||
{
|
baseUrl = ConfigUtil.locateProperty("solr.baseurl", props.getProperty("solr.baseurl"));
|
||||||
defaultHost = InetAddress.getLocalHost().getHostName();
|
|
||||||
}
|
|
||||||
catch (UnknownHostException e)
|
|
||||||
{
|
|
||||||
defaultHost = "localhost";
|
|
||||||
}
|
|
||||||
hostName = props.getProperty("solr.host", defaultHost);
|
|
||||||
baseUrl = props.getProperty("solr.baseUrl", "/solr4");
|
|
||||||
baseUrl = (baseUrl.startsWith("/") ? "" : "/") + baseUrl + "/" + core.getName() + "/";
|
baseUrl = (baseUrl.startsWith("/") ? "" : "/") + baseUrl + "/" + core.getName() + "/";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3858,39 +3850,6 @@ public class SolrInformationServer implements InformationServer
|
|||||||
return hostName;
|
return hostName;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getHttpPort(String defaultPort)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
MBeanServer mBeanServer = MBeanServerFactory.findMBeanServer(null).get(0);
|
|
||||||
QueryExp query = Query.and(Query.eq(Query.attr("scheme"), Query.value("http")), Query.eq(Query.attr("protocol"), Query.value("HTTP/1.1")));
|
|
||||||
Set<ObjectName> objectNames = mBeanServer.queryNames(null, query);
|
|
||||||
|
|
||||||
if (objectNames != null && objectNames.size() > 0) {
|
|
||||||
for (ObjectName objectName : objectNames) {
|
|
||||||
String name = objectName.toString();
|
|
||||||
if (name.indexOf("port=") > -1) {
|
|
||||||
String[] parts = name.split("port=");
|
|
||||||
String port = parts[1];
|
|
||||||
try {
|
|
||||||
Integer.parseInt(port);
|
|
||||||
return port;
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
log.error("Error parsing http port:" + port);
|
|
||||||
return defaultPort;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(Throwable t)
|
|
||||||
{
|
|
||||||
log.error("Error getting https port:", t);
|
|
||||||
}
|
|
||||||
|
|
||||||
return defaultPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCleanContentTxnFloor(long cleanContentTxnFloor)
|
public void setCleanContentTxnFloor(long cleanContentTxnFloor)
|
||||||
{
|
{
|
||||||
this.cleanContentTxnFloor = cleanContentTxnFloor;
|
this.cleanContentTxnFloor = cleanContentTxnFloor;
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
# Shared Properties file
|
# Shared Properties file
|
||||||
|
|
||||||
|
#Host details an external client would use to connect to Solr
|
||||||
|
solr.host=localhost
|
||||||
|
solr.port=8983
|
||||||
|
solr.baseurl=/solr
|
||||||
|
|
||||||
# Properties treated as identifiers when indexed
|
# Properties treated as identifiers when indexed
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user