2016-12-02 14 views
1

Мне удалось разбить файл сертификата rds-combination-ca-bundle.pem и импортировать каждый из них в хранилище ключей отдельно. Затем я добавил в параметры jvm -Djavax.net.ssl.trustStore = путь_to_truststore_file и -Djavax.net.ssl.trustStorePassword = password. Он работал на одном приложении с использованием конфигурации JNDI, например, как показано ниже:javax.net.ssl.SSLException: Неподдерживаемая версия записи Неизвестная ошибка 0.0 на подключении SSL MySQL на Amazon RDS и конфигурации источника данных HikariCp

<?xml version="1.0" encoding="UTF-8"?> 
 
<Context path="/contextname" unpackWAR="true" useNaming="true" swallowOutput="false"> 
 
    <Resource removeAbandoned="true" 
 
      removeAbandonedTimeout="60" 
 
      name="jdbc/data" auth="Container" 
 
      type="javax.sql.DataSource" 
 
      maxActive="200" 
 
      maxIdle="60" 
 
      maxWait="20000" 
 
      username="rootuserssl" 
 
      password="rootusersslpassword" 
 
      driverClassName="com.mysql.jdbc.Driver" 
 
      url="jdbc:mysql://myinstance.123456789012.us-east-1.rds.amazonaws.com:3306/dbname?autoReconnect=true&amp;verifyServerCertificate=true&amp;requireSSL=true&amp;useSSL=true"/> 
 
</Context>

Тем не менее, на одном приложении с помощью HikariCp, он генерирует javax.net.ssl.SSLException об ошибке: Неподдерживаемая запись версии Неизвестной -0,0. Ниже приведена конфигурация.

<?xml version="1.0" encoding="UTF-8"?> 
 
<Context path="/contextnametwo" unpackWAR="true" useNaming="true" swallowOutput="false"> 
 
    <Resource name="jdbc/data" auth="Container" 
 
     driverClassName="com.mysql.jdbc.Driver" 
 
     jdbcUrl="jdbc:mysql://myinstance.123456789012.us-east-1.rds.amazonaws.com:3306/dbname?verifyServerCertificate=true&amp;useSSL=true&amp;requireSSL=true" 
 
     factory="com.zaxxer.hikari.HikariJNDIFactory" 
 
     type="javax.sql.DataSource" 
 
     maximumPoolSize="50" 
 
     connectionTestQuery="SELECT 1" 
 
     idleTimeout="300000" 
 
     maxLifetime="600000" 
 
     dataSource.implicitCachingEnabled="true" 
 
     dataSource.cachePrepStmts="true" 
 
     dataSource.prepStmtCacheSize="250" 
 
     dataSource.prepStmtCacheSqlLimit="2048" 
 
     dataSource.useServerPrepStmts="true" 
 
     catalog="dbname" 
 
     username="rootuserssl" 
 
     password="rootusersslpassword" 
 
/> 
 
</Context>

Что я делаю неправильно на приложение, которое использует HikariCp?

ответ

0

Решает этот вопрос, используя соединитель mariadb (https://downloads.mariadb.org/connector-java/) вместо mysql. Работал как шарм.

+0

Драйвер MariaDB JDBC просто дал мне еще одну ошибку: 'java.net.SocketException: программное обеспечение вызвало прерывание соединения: recv failed' – Adam

 Смежные вопросы

  • Нет связанных вопросов^_^