質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

4995閲覧

Spring boot 2でHikariDataSourceの設定ができない

jun_

総合スコア33

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2022/09/27 04:57

前提

Java Spring Boot 2.7.1でDoma2を用いてPostgresqlに接続するアプリケーションを作成しています。
DB接続に試行錯誤しているのですが、DBに接続できなかったり、HkariDataSourceに設定がうまく入りません。

実現したいこと

  • Java Spring Boot 2.7.1でDoma2を用いてPostgresqlに接続する
  • Hikari DataSourceの設定を有効にする

発生している問題・エラーメッセージ

①spring.datasource.urlを指定する場合

application.yaml

1spring: 2 datasource: 3 username: xxx 4 password: yyy 5 type: com.zaxxer.hikari.HikariDataSource 6 url: jdbc:postgresql://123.123.123.123:5432/xxxx 7 hikari: 8 connection-timeout: 15000 9 maximum-pool-size: 50 10 idle-timeout: 60000 11 maxLifetime: 580000 12 connection-test-query: SELECT 1
エラーメッセージ (省略) Caused by: java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required. at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:1029) ~[HikariCP-4.0.3.jar:?]

②jdbc-urlを指定
(①のurlをjdbc-urlに変更しただけ)

application.yaml

1spring: 2 datasource: 3 username: xxx 4 password: yyy 5 type: com.zaxxer.hikari.HikariDataSource 6 jdbc-url: jdbc:postgresql://123.123.123.123:5432/xxxx 7 hikari: 8 connection-timeout: 15000 9 maximum-pool-size: 50 10 idle-timeout: 60000 11 maxLifetime: 580000 12 connection-test-query: SELECT 1

接続の確認はできるが、HikariConfigに値がセットされない

2022-09-27 13:43:37.898 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: allowPoolSuspension................................false 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: autoCommit................................true 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: catalog................................none 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: connectionInitSql................................none 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: connectionTestQuery................................none 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: connectionTimeout................................30000 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: dataSource................................none 2022-09-27 13:43:37.899 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: dataSourceClassName................................none 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: dataSourceJNDI................................none 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: dataSourceProperties................................{password=<masked>} 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: driverClassName................................none 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: exceptionOverrideClassName................................none 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: healthCheckProperties................................{} 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: healthCheckRegistry................................none 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: idleTimeout................................600000 2022-09-27 13:43:37.900 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: initializationFailTimeout................................1 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: isolateInternalQueries................................false 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: jdbcUrl................................jdbc:postgresql://123.123.123.123:5432/xxxx 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: keepaliveTime................................0 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: leakDetectionThreshold................................0 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: maxLifetime................................1800000 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: maximumPoolSize................................10 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: metricRegistry................................none 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: metricsTrackerFactory................................none 2022-09-27 13:43:37.901 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: minimumIdle................................10 2022-09-27 13:43:37.902 DEBUG[restartedMain] com.zaxxer.hikari.HikariConfig: password................................<masked>

補足情報(FW/ツールのバージョンなど)

Java 17
Spring boot 2.7.1
doma-spring-boot-starter 1.6.0
doma-processor 2.51.0

なかなかうまくいかず困っています。
とくに、maxLifetimeが設定できないため、コネクションがCLOSEされるようです。
ご教授おねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決です。

datasourceの読み方が悪かったようです。お騒がせしました。

Configクラス

1@Configuration(proxyBeanMethods = false) 2public class DomaConfig { 3 @Bean 4 @Primary 5 @ConfigurationProperties("spring.datasource") 6 public DataSourceProperties dataSourceProperties() { 7 return new DataSourceProperties(); 8 } 9 10 @Bean 11 @ConfigurationProperties("spring.datasource.hikari") 12 public HikariDataSource dataSource(DataSourceProperties properties) { 13 return properties.initializeDataSourceBuilder().type(HikariDataSource.class).build(); 14 } 15}

投稿2022/09/27 06:00

jun_

総合スコア33

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問