2017-02-21 4 views
0

프로젝트에서 Gradle을 통해 jOOQ를 구성 중이며 SSH 터널을 통해 데이터베이스에 연결해야합니다. 시작하는 방법에 대한 문서를 찾을 수 없습니다. (터널 제외) 내 현재의 구성은 다음과 같습니다jOOQ에서 SSH 터널 사용

task generateJooq << { 
    def writer = new StringWriter() 
    new MarkupBuilder(writer).configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.9.0.xsd') { 
     jdbc() { 
      driver('org.postgresql.Driver') 
      url(props.getProperty('datasource.url')) // From a properties file 
      user(props.getProperty('datasource.user')) // From a properties file 
      password(props.getProperty('datasource.pass')) // From a properties file 
     } 
     generator() { 
      database() { 
       inputSchema('public') 
      } 
      generate() { 
       pojos(true) 
       daos(true) 
      } 
      target() { 
       packageName('com.foo.bar.model.dao') 
       directory(Paths.get(project.projectDir.toString(), 'src/main/java')) 
      } 
     } 
    } 

    GenerationTool.generate(
      JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) 
    ) 
} 

어떻게 내 데이터베이스에 연결하기 위해 SSH 터널을 사용하려면이 구성을 수정할 것인가?

+0

어떤 문제가 발생합니까? –

+0

@LukasEder, jOOQ가 데이터베이스에 직접 연결하는 방법을 알고 있지만 SSH 터널을 사용하도록 설정하는 방법을 모르겠습니다. 그래서 프록시/SSH 터널 서버를 사용하여 데이터베이스에 연결하는 구성을 찾고 있습니다. – lebolo

답변

0

jOOQ의 코드 생성기 구성은 JDBC가 이미 제공 한 것의 위에 많은 것을 제공하지 않습니다. 따라서 표준 접근법은 JDBC URL, 사용자 이름, 비밀번호 및 선택적으로 일부 속성을 제공하는 것입니다.

이미 JDBC Connection (그 의미에 따라 SSH 터널을 통해 생성 한 것)이 있다면 GenerationTool으로 전달할 수도 있습니다. GenerationTool 전화 번호를 다음으로 바꿉니다.

GenerationTool tool = new GenerationTool(); 
tool.setConnection(connection); 
tool.generate(configuration); // Your JAXB call here...