admin 发表于 2015-10-12 19:50

tomcat 中 solr如何统一配置数据源

       最近在做solr全文检索的东西,其实以前就有过,但是就是2个核,所以数据源配置还不是那么麻烦。由于最近新增了N个核,并且是不同的数据源,其实多个核心还公用一个数据源。这就导致了,如果部署项目就要修改N处数据源配置。      所以为了考虑统一部署以及配置对数据源配置进行了改进。
其实solr的数据源配置有两种方式(方式一就是以前用的)

一,solr直接配置数据库连接
在data-config.xml中配置
<dataSource name="jdbc" driver="com.mysql.jdbc.Driver"
      url="jdbc:mysql://192.168.1.180:3306/sso?characterEncoding=UTF-8"
      user="root" password="root"/>
二,solr使用配置好的数据源

tomcat配置数据源solr使用数据源
1、tomcat中配置数据源(注:需要拷贝jdbc相关jar包到tomcat中。tomcat6.x/lib目录下,注意tomcat6.0以下的版本在tomcat5.x/common/lib/目录下)
在server.xml文件,找到“Engine-> Host -> Context”,在其下面配置主要针对某一项目的数据源使用。
在context.xml文件,找到“Context”,在其下面配置可以让所有项目使用。
在Context下面配置数据源如下:
<Resource name ="jdbc/sso" auth = "Container" type = "javax.sql.DataSource"
         username = "acts" password = "acts" driverClassName = "com.mysql.jdbc.Driver"
         url = "jdbc:mysql://192.168.1.180:3306/sso?characterEncoding=UTF-8" maxActive = "-1"/>


2、数据源相关参数说明:
<Resource name="jdbc/bookstore"//这里的名字随便起,后面要用到
auth="Container"      //auth有两个值可选
Application”和“Container” type="javax.sql.DataSource"         //指定资源所属的Java类的完整限定名 driverClassName="com.mysql.jdbc.Driver" //这里仅为mysql
url="jdbc:mysql://192.168.1.180:3306/sso?characterEncoding=UTF-8"
username="sa" //登录名 password="000000" //登录密码
maxActive="100" //指定在连接池中数据库连接的最大数目,设为0表示无限制
maxIdle="30" //指定在连接池中保留的空闲的数据库连接的最大数目,设为0表示无限制
maxWait="1000"/> //指定等待一个数据库连接成为可用状态的最大时间,以毫秒为单位,设为-1表示无限制。


3、data-config.xml文件配置如下内容:
<dataSource name="sso" jndiName="java:comp/env/jdbc/sso" type="JdbcDataSource" batch-size="1000" />
注意:“jdbc/sso”为已配置的数据源名。如果是在tomcat中配置的数据源则jndiName,需要在你配置的数据源名前加“java:comp/env”。在其他容器中配置不用加此内容。




囧恩snow 发表于 2016-9-27 14:12

涨姿势了                                             
页: [1]
查看完整版本: tomcat 中 solr如何统一配置数据源