/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.solr.client.solrj.embedded;
import org.apache.solr.client.solrj.MultiCoreExampleTestBase;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
/**
* TODO? perhaps use:
* http://docs.codehaus.org/display/JETTY/ServletTester
* rather then open a real connection?
*
* @version $Id: MultiCoreExampleJettyTest.java 819804 2009-09-29 02:55:49Z yonik $
* @since solr 1.3
*/
public class MultiCoreExampleJettyTest extends MultiCoreExampleTestBase {
JettySolrRunner jetty;
int port = 0;
static final String context = "/example";
@Override public void setUp() throws Exception
{
super.setUp();
jetty = new JettySolrRunner( context, 0 );
jetty.start(false);
port = jetty.getLocalPort();
h.getCoreContainer().setPersistent(false);
}
@Override public void tearDown() throws Exception
{
super.tearDown();
jetty.stop(); // stop the server
}
@Override
protected SolrServer getSolrCore(String name)
{
return createServer(name);
}
@Override
protected SolrServer getSolrCore0()
{
return createServer( "core0" );
}
@Override
protected SolrServer getSolrCore1()
{
return createServer( "core1" );
}
@Override
protected SolrServer getSolrAdmin()
{
return createServer( "" );
}
private SolrServer createServer( String name )
{
try {
// setup the server...
String url = "http://localhost:"+port+context+"/"+name;
CommonsHttpSolrServer s = new CommonsHttpSolrServer( url );
s.setConnectionTimeout(100); // 1/10th sec
s.setDefaultMaxConnectionsPerHost(100);
s.setMaxTotalConnections(100);
return s;
}
catch( Exception ex ) {
throw new RuntimeException( ex );
}
}
}