Class JettySolrRunner


  • public class JettySolrRunner
    extends Object
    Run solr using jetty
    Since:
    solr 1.3
    • Constructor Detail

      • JettySolrRunner

        public JettySolrRunner​(String solrHome,
                               String context,
                               int port)
        Create a new JettySolrRunner. After construction, you must start the jetty with start()
        Parameters:
        solrHome - the solr home directory to use
        context - the context to run in
        port - the port to run on
      • JettySolrRunner

        public JettySolrRunner​(String solrHome,
                               JettyConfig config)
        Construct a JettySolrRunner After construction, you must start the jetty with start()
        Parameters:
        solrHome - the base path to run from
        config - the configuration
      • JettySolrRunner

        public JettySolrRunner​(String solrHome,
                               Properties nodeProperties,
                               JettyConfig config)
        Construct a JettySolrRunner After construction, you must start the jetty with start()
        Parameters:
        solrHome - the solrHome to use
        nodeProperties - the container properties
        config - the configuration
      • JettySolrRunner

        public JettySolrRunner​(String solrHome,
                               Properties nodeProperties,
                               JettyConfig config,
                               boolean enableProxy)
        Construct a JettySolrRunner After construction, you must start the jetty with start()
        Parameters:
        solrHome - the solrHome to use
        nodeProperties - the container properties
        config - the configuration
        enableProxy - 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
      • 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​(int connectionTimeoutMillis,
                                    int socketTimeoutMillis)
      • 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