현재 개발중인 프로젝트는 SpringBoot를 사용하여 Jetty를 내장형 웹컨테이너로 사용하고 데이터베이스는 H2Database를 사용하고 있다.
H2Database를 파일DB형식으로 사용하도록 정의했다.

spring:
  datasource:
    initialize: false
    driverClassName: org.h2.Driver
    url: jdbc:h2:file:./h2database
    username: sa
    password:

웹애플리케이션을 실행하면 기본설정에 의해서 DB가 잠기게 된다.
그런데 입력된 데이터를 보겠다고 h2console을 실행하면, 웹애플리케이션에 의해 잠긴 DB는 완전히 잠기면서 더이상이 데이터입력이 되지 않는다.
이게 이상하다고 해서…
H2Database를 Server 모드로 실행하도록 했다.

spring:
  datasource:
    initialize: false
    driverClassName: org.h2.Driver
    url: jdbc:h2:file:./h2database;AUTO_SERVER=TRUE
    username: sa
    password:

와 같이 변경했다.
굳이 h2console을 실행하지 않고 이클립스에서 찾는 방법도 확인했다. 외부에서 연결할 떄는 외부연결에 의해서 파일이 잠기지 않도록

url: jdbc:h2:file:./h2database;FILE_LOCK=NO

과 같이 설정하기 바란다.

참고문헌


로컬환경에서 개발을 하다보면, URL에 프로젝트명이 들어가는 것이 번잡스럽고 귀찮은 때가 참 많다. Link를 통해서 연결을 할 떄에도 이에 대한 고려를 해야하는 것이 번거롭기 그지없다.

이클립스 모듈설정을 수정하여 로컬URL에서 프로젝트명을 제거해보자.



  이클립스에서 실행하는 서버를 더블클릭하면 아래 그림과 같이 서버의 정보를 확인할 수 있는 탭이 열린다.

  그 열린 탭의 하단을 보면 [Modules] 라는 탭이 보일 것이다.

  그 탭을 클릭하자.

  그리고는 'Web Modules' 에서 로컬 실행경로(Path : 화면에서는 /honeymon.mvc)를 선택하고, 오른쪽에 있는 버튼들 중 [Edit]를 클릭한다.


[Edit]를 클릭하면 아래의 내용을 가진 팝업창이 뜬다.

'Path'를

'/honeymon.mvc'

에서

'/'

으로 변경한다. 그리고는 [OK] 버튼을 눌러주자.

그런 다음, [Server]탭에서 서버를 선택한 후 [Clean] 과 [Publish]를 차례로 클릭해준다.

그 후에 서버를 재시작하고 URL을

http://localhost:8080/

으로 입력하면 아래와 같이 내용이 나타나는 것을 확인해볼 수 있다.

아래처럼 나타나면 정상적으로 적용된 것이다.

@_@) 이클립스의 workspace를 바꿔주네, 이클립스에서 사용하는 서버의 설정파일을 수정하네

라는 글들이 있었지만, 위의 방법이 제일 빠르고 손쉬웠다.

나는 그랬다.



+ Recent posts