Class JettySolrRunner
- java.lang.Object
-
- org.apache.solr.client.solrj.embedded.JettySolrRunner
-
public class JettySolrRunner extends Object
Run solr using jetty- Since:
- solr 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJettySolrRunner.DebugFilterstatic classJettySolrRunner.Servlet404This is a stupid hack to give jetty something to attach to
-
Constructor Summary
Constructors Constructor Description JettySolrRunner(String solrHome, String context, int port)Create a new JettySolrRunner.JettySolrRunner(String solrHome, Properties nodeProperties, JettyConfig config)Construct a JettySolrRunner After construction, you must start the jetty withstart()JettySolrRunner(String solrHome, Properties nodeProperties, JettyConfig config, boolean enableProxy)Construct a JettySolrRunner After construction, you must start the jetty withstart()JettySolrRunner(String solrHome, JettyConfig config)Construct a JettySolrRunner After construction, you must start the jetty withstart()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description URLgetBaseUrl()Returns a base URL consisting of the protocol, host, and port for a Connector in use by the Jetty Server contained in this runner.URLgetBaseURLV2()CoreContainergetCoreContainer()JettySolrRunner.DebugFiltergetDebugFilter()intgetLocalPort()Returns the Local Port of the jetty Server.intgetLocalPort(boolean internalPort)Returns the Local Port of the jetty Server.StringgetNodeName()PropertiesgetNodeProperties()SocketProxygetProxy()URLgetProxyBaseUrl()Returns a base URL consisting of the protocol, host, and port for a Connector in use by the Jetty Server contained in this runner.SolrDispatchFiltergetSolrDispatchFilter()StringgetSolrHome()protected org.eclipse.jetty.server.handler.HandlerWrapperinjectJettyHandlers(org.eclipse.jetty.server.handler.HandlerWrapper chain)descendants may inject own handler chaining it to the given root and then returning that own onebooleanisRunning()booleanisStopped()static voidmain(String[] args)A main class that starts jetty+solr This is useful for debuggingSolrClientnewClient()SolrClientnewClient(int connectionTimeoutMillis, int socketTimeoutMillis)voidsetProxyPort(int proxyPort)Sets the port of a local socket proxy that sits infront of this server; if set then all client traffic will flow through the proxy, giving us the ability to simulate network partitions very easily.voidstart()Start the Jetty server If the server has been started before, it will restart using the same portvoidstart(boolean reusePort)Start the Jetty servervoidstop()Stop the Jetty server
-
-
-
Constructor Detail
-
JettySolrRunner
public JettySolrRunner(String solrHome, String context, int port)
Create a new JettySolrRunner. After construction, you must start the jetty withstart()- Parameters:
solrHome- the solr home directory to usecontext- the context to run inport- the port to run on
-
JettySolrRunner
public JettySolrRunner(String solrHome, JettyConfig config)
Construct a JettySolrRunner After construction, you must start the jetty withstart()- Parameters:
solrHome- the base path to run fromconfig- the configuration
-
JettySolrRunner
public JettySolrRunner(String solrHome, Properties nodeProperties, JettyConfig config)
Construct a JettySolrRunner After construction, you must start the jetty withstart()- Parameters:
solrHome- the solrHome to usenodeProperties- the container propertiesconfig- the configuration
-
JettySolrRunner
public JettySolrRunner(String solrHome, Properties nodeProperties, JettyConfig config, boolean enableProxy)
Construct a JettySolrRunner After construction, you must start the jetty withstart()- Parameters:
solrHome- the solrHome to usenodeProperties- the container propertiesconfig- the configurationenableProxy- enables proxy feature to disable connections
-
-
Method Detail
-
injectJettyHandlers
protected org.eclipse.jetty.server.handler.HandlerWrapper injectJettyHandlers(org.eclipse.jetty.server.handler.HandlerWrapper chain)
descendants may inject own handler chaining it to the given root and then returning that own one
-
getSolrDispatchFilter
public SolrDispatchFilter getSolrDispatchFilter()
- Returns:
- the
SolrDispatchFilterfor this node
-
getCoreContainer
public CoreContainer getCoreContainer()
- Returns:
- the
CoreContainerfor this node
-
getNodeName
public String getNodeName()
-
isRunning
public boolean isRunning()
-
isStopped
public boolean isStopped()
-
start
public void start() throws ExceptionStart the Jetty server If the server has been started before, it will restart using the same port- Throws:
Exception- if an error occurs on startup
-
start
public void start(boolean reusePort) throws ExceptionStart the Jetty server- Parameters:
reusePort- when true, will start up on the same port as used by any previous runs of this JettySolrRunner. If false, will use the port specified by the server's JettyConfig.- Throws:
Exception- if an error occurs on startup
-
stop
public void stop() throws ExceptionStop the Jetty server- Throws:
Exception- if an error occurs on shutdown
-
getLocalPort
public int getLocalPort()
Returns the Local Port of the jetty Server.- Throws:
RuntimeException- if there is no Connector
-
getLocalPort
public int getLocalPort(boolean internalPort)
Returns the Local Port of the jetty Server.- Parameters:
internalPort- pass true to get the true jetty port rather than the proxy port if configured- Throws:
RuntimeException- if there is no Connector
-
setProxyPort
public void setProxyPort(int proxyPort)
Sets the port of a local socket proxy that sits infront of this server; if set then all client traffic will flow through the proxy, giving us the ability to simulate network partitions very easily.
-
getBaseUrl
public URL getBaseUrl()
Returns a base URL consisting of the protocol, host, and port for a Connector in use by the Jetty Server contained in this runner.
-
getBaseURLV2
public URL getBaseURLV2()
-
getProxyBaseUrl
public URL getProxyBaseUrl()
Returns a base URL consisting of the protocol, host, and port for a Connector in use by the Jetty Server contained in this runner.
-
newClient
public SolrClient newClient()
-
newClient
public SolrClient newClient(int connectionTimeoutMillis, int socketTimeoutMillis)
-
getDebugFilter
public JettySolrRunner.DebugFilter getDebugFilter()
-
main
public static void main(String[] args)
A main class that starts jetty+solr This is useful for debugging
-
getSolrHome
public String getSolrHome()
- Returns:
- the Solr home directory of this JettySolrRunner
-
getNodeProperties
public Properties getNodeProperties()
- Returns:
- this node's properties
-
getProxy
public SocketProxy getProxy()
-
-