может ли обработчик импорта данных использовать HikariCP? - PullRequest
1 голос
/ 24 июня 2019

Я использую solr4.5.1 в работе.

Беда в том, что много getConnection произошло, когда я выполняю импорт данных (полный импорт).Поэтому я подумал, можно ли использовать HikariCP при импорте данных, но я не нашел подобной проблемы.

Возможно ли это?Если так, пожалуйста, совет.

Solr 4.5.1 с Tomcat

data-config.xml

<dataSource driver="oracle.jdbc.driver.OracleDriver" 
            name="jdbc" 
            url="jdbc:oracle:thin:@address/mydb" 
            user="user" password="pass"/>

1 Ответ

0 голосов
/ 25 июня 2019

Сильно позаимствовано у Дэвида Н Небингера * Пост 1002 *: Tomcat и HikariCP .

Установить HikariCP

КомуЧтобы использовать JNDI, вам нужно объявить источник данных JNDI со всеми его настройками, паролем и параметрами кэша в объявлении JNDI.Это не имеет ничего общего с Solr на данный момент.Это механизм Tomcat.Как это сделать, описано в этом руководстве, в котором также используется HikariCP .

Сначала загрузите файл .zip или .tar.gz с http://brettwooldridge.github.io/HikariCP/. На самом деле это исходный выпуск, который вам нужно будет создать самостоятельно.

Второй вариант:чтобы загрузить встроенный jar-файл из источника, такого как Maven Central, https://mvnrepository.com/artifact/com.zaxxer/HikariCP

Получив jar, скопируйте его в каталог Tomcat lib/ext.Обратите внимание, что Hikari CP действительно зависит от SLF4J, поэтому вам необходимо поместить этот jar также в lib/ext.

Не забудьте поместить драйвер JDBC вашего источника данных в папку lib/ext.

Конфигурирование источника данных JNDI

Местоположение вашего определения источника данных JNDI <Resource /> зависит от области действия соединений.Вы можете определить их глобально, указав их в Tomcat conf/server.xml и conf/context.xml, или вы можете охватить их для отдельных приложений, определив их в conf/Catalina/localhost/WebAppContext.xml (где WebAppContext - это контекст веб-приложения для приложения, в основном, каталогимя из каталога веб-приложений Tomcat).

Создайте файл conf/Catalina/localhost/ROOT.xml, если он еще не существует.Используйте таблицу из https://github.com/brettwooldridge/HikariCP#popular-datasource-class-names, чтобы найти имя класса вашего источника данных, оно нам понадобится при определении элемента.

<Resource name="jdbc/SolrPool" auth="Container"
    factory="com.zaxxer.hikari.HikariJNDIFactory"
    type="javax.sql.DataSource"
    minimumIdle="5" 
    maximumPoolSize="10"
    connectionTimeout="300000"
    dataSourceClassName="oracle.jdbc.pool.OracleDataSource"
    dataSource.url="jdbc:oracle:thin:@address/mydb"
    dataSource.implicitCachingEnabled="true" 
    dataSource.user="user" 
    dataSource.password="pass" />

Используйте источник данных JNDI в Solr

После того, как вы ознакомитесь с этим руководством, вам нужно будет использовать объявленный источник данных JNDI, это будет похоже на , описанное в Solr Wiki :

<dataSource
    jndiName="java:jdbc/SolrPool"
    type="JdbcDataSource"
    user="" password=""/> <!-- leave out user/password here -->
...