Oracle и база данных Sybase kerberos, использующая источник данных Hikari при загрузке Spring - PullRequest
1 голос
/ 09 апреля 2020

В моем весеннем загрузочном приложении я использую две базы данных oracle и Sybase и подключаю базу данных с помощью kerberos. когда я керберизовал один из них за раз, он работал хорошо, но когда я пытаюсь использовать их оба в этом исключении получения.

Мой источник данных для обеих баз данных в файле .yml:

database:
oracleDatasource:
DriverclassNqme:*oracle Driver*
JdbcUrl: JdbcUrl
data-source-properties:
 oracle.net.kerberos5_cc_name:*location of cache File*
 oracle.net.authentication_services: (KERBEROS5)
 oracle.net.kerberos5_mutual_authentication: true

sybaseDataSource:
driverClassName: com.sybase.jdbc4.jdbc.SybDriver
jdbcUrl: SyabaseDataBaseUrl
data-source-properties:
 REQUEST_KERBEROS_SESSION: true
 SERVICE_PRINCIPLE_NAME: principlename

и у меня есть один файл jass.conf для Sybase

com.sun.security.jggs.initiate{
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
ticketCache="path of my sybasecache File"
};

Когда я запускаю свое приложение с аргументом ниже VM,

-Djava.security.krb5.conf="path of my conf file"
-Djava.security.auth.login.config="path of my jass.conf file"
-Djavax.security.auth.useSubjectCredsObly=false

в то время я получаю следующее исключение для Oracle источника данных

Caused by:com.zaxerr.hikari.pool.HikariPool$InitializationException:Failed to initialize the pool:EncryptionKey:Key byte can not be null

, и когда я удалил -Djavax.security.auth.useSubjectCredsObly=false из аргумента в то время, получаю следующее исключение для SybaseDataSource,

ERROR IdTableHelper unable to obtain jdbc Connection
java.sql.SQLException:JZ006:caught IOException:java.net.ConnectException:Connection timed out"

Может ли кто-нибудь помочь мне, как это исправить или как я могу использовать файл кэша Kerberos в свойствах источника данных для sybase, такой как oracle. Любое предложение помощи должно быть оценено. Заранее спасибо.

...