2017-02-08 2 views
0

데이터베이스를 사용중인 Spring-Boot-Application에서 작업하고 있습니다. 사용자에게 내장 데이터베이스 (빠른 테스트 용) 또는 하드 드라이브 기반 데이터베이스 (장기간 사용시)를 사용할 수있는 옵션을 제공하고 싶습니다. 제 방법은 application.properties에 bool 플래그를 추가하고, config에서 이것을 읽고 원하는 DataSource를 생성하는 것입니다.Spring-Boot/H2 데이터베이스 스냅 샷을 파일 시스템에 작성하십시오.

@Bean 
public DataSource dataSource() {  
    if (embedded) { 
     EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); 
     EmbeddedDatabase db = builder 
       .setType(EmbeddedDatabaseType.H2) 
       .addScript("db.sql") 
       .build(); 
     return db; 
    } else { 
     DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
     dataSource.setDriverClassName(driver); 
     dataSource.setUrl(databaseURL); 
     dataSource.setUsername(databaseUser); 
     dataSource.setPassword(databasePassword); 
     return dataSource; 
    } 
} 

괜찮습니다. 지금 당장 내 문제는 세션간에 임베디드 데이터베이스를 유지하고 응용 프로그램이 다시 시작되면 내용을 다시로드하려는 것입니다 (사용자가 포함 된 데이터베이스를 사용하고 다시 사용하여 데이터가 손실되는 경우)

데이터베이스에 스냅 샷을 만들고 시작시 다시 사용하려면 코드에 무엇을 추가해야합니까?

Greetz와 당신의 도움을 주셔서 감사합니다, 패트릭

답변

1

당신은 connection URL 불구하고 구성합니다.

+0

답장을 보내 주셔서 감사합니다. 안타깝게도 EmbeddedDataBaseBuilder에서 연결 URL을 구성하는 방법을 보지 못했습니다. –

관련 문제