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 class
JettySolrRunner.DebugFilter
static class
JettySolrRunner.Servlet404
This 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 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.URL
getBaseURLV2()
CoreContainer
getCoreContainer()
JettySolrRunner.DebugFilter
getDebugFilter()
int
getLocalPort()
Returns the Local Port of the jetty Server.int
getLocalPort(boolean internalPort)
Returns the Local Port of the jetty Server.String
getNodeName()
Properties
getNodeProperties()
SocketProxy
getProxy()
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.SolrDispatchFilter
getSolrDispatchFilter()
String
getSolrHome()
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 oneboolean
isRunning()
boolean
isStopped()
static void
main(String[] args)
A main class that starts jetty+solr This is useful for debuggingSolrClient
newClient()
SolrClient
newClient(int connectionTimeoutMillis, int socketTimeoutMillis)
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.void
start()
Start the Jetty server If the server has been started before, it will restart using the same portvoid
start(boolean reusePort)
Start the Jetty servervoid
stop()
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
SolrDispatchFilter
for this node
-
getCoreContainer
public CoreContainer getCoreContainer()
- Returns:
- the
CoreContainer
for this node
-
getNodeName
public String getNodeName()
-
isRunning
public boolean isRunning()
-
isStopped
public boolean isStopped()
-
start
public void start() throws Exception
Start 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 Exception
Start 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 Exception
Stop 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()
-
-