[Spring Boot] H2 connection refused 문제 해결
build.gradle
의 h2 dependencyruntimeOnly
→implementation
dependencies {
...
implementation 'com.h2database:h2'
...
}
application.properties
의 local datasource를 hikari.datasource로 수정
: H2 db를 tcp로 우회하여 외부에서 접근하기 위해서 Hikari의 jdbc-url로 설정합니다.
spring:
profiles: local
datasource:
hikari:
jdbc-url: jdbc:h2:mem:test
driver-class-name: org.h2.Driver
username: sa
password:
...
- H2 tcp server 활성화시키기
package com.ollacare.api.comm.config;
import com.zaxxer.hikari.HikariDataSource;
import org.h2.tools.Server;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.sql.SQLException;
@Configuration
public class H2ServerConfiguration {
@Bean
@ConfigurationProperties("spring.datasource.hikari")
public DataSource dataSource() throws SQLException {
Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092").start();
return new HikariDataSource();
}
}
기본적으로 H2는 TCP를 실행 할 때 외부 접속을 허용하지 않기 때문에 -tcpAllowOthers
옵션으로 외부에서 접속 가능하게 설정합니다.
- 연결 확인하기
인텔리제이에서 바로 확인도 가능하지만 dbeaver로 연결해보았습니다.
성공😎😎😎
출처
https://empering.tistory.com/entry/Spring-Boot-H2-사용-시-DataSource-접근하기-feat-IntelliJ-Kotlin
https://dico.me/java/articles/241/ko
Author And Source
이 문제에 관하여([Spring Boot] H2 connection refused 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@woo0_hooo/Spring-Boot-H2-connection-refused-문제-해결저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)