Hello,

I'm trying to get multiple instances of Solr running with Jetty as per
the instructions on http://wiki.apache.org/solr/SolrJetty, however I've
run into a snag. According to the page you set the solr/home parameter
as follows:

<New class="org.mortbay.jetty.plus.naming.EnvEntry">
   <Arg>solr/home</Arg>
   <Arg type="java.lang.String">*My Solr Home Dir*</Arg>
</New>

However, as MattKangas mentions on the wiki, using this method to set
the JNDI parameter makes it global to the jvm which is bad for running
multiple instances but reading the 6.1.14 documentation for the EnvEntry
class constructors shows that with this version of jetty you can supply
a scope, I've tried this with the following configuration:

<Configure id="wac" class="org.mortbay.jetty.webapp.WebAppContext">
   <!-- .... -->
   <New class="org.mortbay.jetty.plus.naming.EnvEntry">
       <Arg><Ref id="wac" /></Arg>
       <Arg>/solr/home</Arg>
       <Arg type="java.lang.String"><SystemProperty name="jetty.home"
default="." />/my/solr/home/dir</Arg>
       <Arg type="boolean">true</Arg>
   </New>
</Configure>

But unfortunately this doesn't seem to work, if I set the first argument
to NULL (<Arg />), it works for one instance (as it's in jvm scope) but
when I set it to the WebAppContext-scope, solr logs:

org.apache.solr.core.SolrResourceLoader locateInstanceDir
INFO: No /solr/home in JNDI
org.apache.solr.core.SolrResourceLoader locateInstanceDir
INFO: solr home defaulted to 'solr/' (could not find system property or
JNDI)

Am I doing something wrong here? Any help will be appreciated.

Regards,

gwk


Reply via email to