Re: DIH XML configs for multi environment
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
Re: DIH XML configs for multi environment
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=X password=X 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
Re: DIH XML configs for multi environment
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=X password=X 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
Re: DIH XML configs for multi environment
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=X password=X 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
AW: DIH XML configs for multi environment
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=X password=X 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
DIH XML configs for multi environment
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
Re: DIH XML configs for multi environment
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=X password=X 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
Re: DIH XML configs for multi environment
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=X password=X 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
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=X password=X 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