Jerry, Glad it worked for you. I will also do the same thing. This seems easier for me, as I have a solr start shell script, which sets the JVM params for master/slave, Xmx and so on according to the environment. Setting a jdbc connect url in the start script is convenient than changing the configs.
*Pranav Prakash* "temet nosce" On Tue, Jul 24, 2012 at 1:17 AM, jerry.min...@gmail.com < jerry.min...@gmail.com> wrote: > Pranav, > > Sorry, I should have checked my response a little better as I > misspelled your name and, mentioned that I tried what Marcus suggested > then described something totally different. > I didn't try using the property mechanism as Marcus suggested as I am > not using a solr.xml file. > > What you mentioned in your post on Wed, Jul 18, 2012 at 3:46 PM will > work as I have done it successfully. > That is I created a JVM variable to contain the connect URLs for each > of my environments and one of those to set the URL parameter of the > dataSource entity > in my data config files. > > Best, > Jerry > > > On Mon, Jul 23, 2012 at 3:34 PM, jerry.min...@gmail.com > <jerry.min...@gmail.com> wrote: > > Pranay, > > > > I tried two similar approaches to resolve this in my system which is > > Solr 4.0 running in Tomcat 7.x on Ubuntu 9.10. > > > > My preference was to use an alias for each of my database environments > > as a JVM parameter because it makes more sense to me that the database > > connection be stored in the data config file rather than in a Tomcat > > configuration or startup file. > > Because of preference, I first attempted the following: > > 1. Set a JVM environment variable 'solr.dbEnv' to the represent the > > database environment that should be accessed. For example, in my dev > > environment, the JVM environment variable was set as -Dsolr.dbEnv=dev. > > 2. In the data config file I had 3 data sources. Each data source had > > a name that matched one of the database environment aliases. > > 3. In the entity of my data config file "dataSource" parameter was set > > as follows dataSource=${solr.dbEnv}. > > > > Unfortunately, this fails to work. Setting "dataSource" parameter in > > the data config file does not override the default. The default > > appears to be the first data source defined in the data config file. > > > > Second, I tried what Marcus suggested. > > > > That is, I created a JVM variable to contain the connect URLs for each > > of my environments. > > I use that variable to set the URL parameter of the dataSource entity > > in the data config file. > > > > This works well. > > > > > > Best, > > Jerry Mindek > > > > Unfortunately, the first option did not work. It seemed as though > > On Wed, Jul 18, 2012 at 3:46 PM, Pranav Prakash <pra...@gmail.com> > wrote: > >> That approach would work for core dependent parameters. In my case, the > >> params are environment dependent. I think a simpler approach would be to > >> pass the url param as JVM options, and these XMLs get it from there. > >> > >> I haven't tried it yet. > >> > >> *Pranav Prakash* > >> > >> "temet nosce" > >> > >> > >> > >> On Tue, Jul 17, 2012 at 5:09 PM, Markus Klose <m...@shi-gmbh.com> wrote: > >> > >>> Hi > >>> > >>> There is one more approach using the property mechanism. > >>> > >>> You could specify the datasource like this: > >>> <dataSource name="database" driver="${sqlDriver}" url="${sqlURL}"/> > >>> > >>> And you can specifiy the properties in the solr.xml in your core > >>> configuration like this: > >>> > >>> <core instanceDir="core1" name="core1"> > >>> <property name="sqlURL" value="jdbc:hsqldb:/temp/example/ex"/> > >>> .... > >>> </core> > >>> > >>> > >>> Viele Grüße aus Augsburg > >>> > >>> Markus Klose > >>> SHI Elektronische Medien GmbH > >>> > >>> > >>> Adresse: Curt-Frenzel-Str. 12, 86167 Augsburg > >>> > >>> Tel.: 0821 7482633 26 > >>> Tel.: 0821 7482633 0 (Zentrale) > >>> Mobil:0176 56516869 > >>> Fax: 0821 7482633 29 > >>> > >>> E-Mail: markus.kl...@shi-gmbh.com > >>> Internet: http://www.shi-gmbh.com > >>> > >>> Registergericht Augsburg HRB 17382 > >>> Geschäftsführer: Peter Spiske > >>> USt.-ID: DE 182167335 > >>> > >>> > >>> > >>> > >>> > >>> -----Ursprüngliche Nachricht----- > >>> Von: Rahul Warawdekar [mailto:rahul.warawde...@gmail.com] > >>> Gesendet: Mittwoch, 11. Juli 2012 11:21 > >>> An: solr-user@lucene.apache.org > >>> Betreff: Re: DIH XML configs for multi environment > >>> > >>> http://wiki.eclipse.org/Jetty/Howto/Configure_JNDI_Datasource > >>> http://docs.codehaus.org/display/JETTY/DataSource+Examples > >>> > >>> > >>> On Wed, Jul 11, 2012 at 2:30 PM, Pranav Prakash <pra...@gmail.com> > wrote: > >>> > >>> > That's cool. Is there something similar for Jetty as well? We use > Jetty! > >>> > > >>> > *Pranav Prakash* > >>> > > >>> > "temet nosce" > >>> > > >>> > > >>> > > >>> > On Wed, Jul 11, 2012 at 1:49 PM, Rahul Warawdekar < > >>> > rahul.warawde...@gmail.com> wrote: > >>> > > >>> > > Hi Pranav, > >>> > > > >>> > > If you are using Tomcat to host Solr, you can define your data > >>> > > source in context.xml file under tomcat configuration. > >>> > > You have to refer to this datasource with the same name in all the > 3 > >>> > > environments from DIH data-config.xml. > >>> > > This context.xml file will vary across 3 environments having > >>> > > different credentials for dev, stag and prod. > >>> > > > >>> > > eg > >>> > > DIH data-config.xml will refer to the datasource as listed below > >>> > > <dataSource jndiName="java:comp/env/<*YOUR_DATASOURCE_NAME*>" > >>> > > type="JdbcDataSource" readOnly="true" /> > >>> > > > >>> > > context.xml file which is located under "/<TOMCAT_HOME>/conf" > folder > >>> > > will have the resource entry as follows > >>> > > <Resource name="<*YOUR_DATASOURCE_NAME*>" auth="Container" > >>> > > type="" username="XXXXX" password="XXXXX" > >>> > > driverClassName="" > >>> > > url="" > >>> > > maxActive="8" > >>> > > /> > >>> > > > >>> > > On Wed, Jul 11, 2012 at 1:31 PM, Pranav Prakash <pra...@gmail.com> > >>> > wrote: > >>> > > > >>> > > > The DIH XML config file has to be specified dataSource. In my > >>> > > > case, and possibly with many others, the logon credentials as > well > >>> > > > as mysql > >>> > server > >>> > > > paths would differ based on environments (dev, stag, prod). I > >>> > > > don't > >>> > want > >>> > > to > >>> > > > end up coming with three different DIH config files, three > >>> > > > different handlers and so on. > >>> > > > > >>> > > > What is a good way to deal with this? > >>> > > > > >>> > > > > >>> > > > *Pranav Prakash* > >>> > > > > >>> > > > "temet nosce" > >>> > > > > >>> > > > >>> > > > >>> > > > >>> > > -- > >>> > > Thanks and Regards > >>> > > Rahul A. Warawdekar > >>> > > > >>> > > >>> > >>> > >>> > >>> -- > >>> Thanks and Regards > >>> Rahul A. Warawdekar > >>> >