파일 기반 지속성을 사용하는 대신 JDBC 호환 드라이버를 통해 액세스할 수 있는 데이터 저장소에 액세스하도록 브로커를 설정할 수 있습니다. 이 경우 해당 JDBC 관련 브로커 구성 등록 정보를 설정하고 데이터베이스 관리자 유틸리티(imqdbmgr)를 사용하여 적절한 스키마를 갖는 데이터베이스를 만들어야 합니다. 자세한 내용은 JDBC 기반 저장소 구성을 참조하십시오.
JDBC 기반 지속성에는 JDBC 데이터베이스를 사용하도록 브로커를 구성하기 위한 등록 정보가 나와 있습니다. 이러한 등록 정보는 각 브로커 인스턴스의 인스턴스 구성 파일(config.properties)이나 브로커 유틸리티(imqbrokerd) 또는 데이터베이스 관리자 유틸리티(imqdbmgr)의 -D 명령줄 옵션을 사용하여 지정할 수 있습니다.
imq.persist.jdbc.driver 등록 정보는 데이터베이스에 연결하는 데 사용할 JDBC 드라이버의 Java 클래스 이름을 제공합니다. 또한 기존 데이터베이스 연결(imq.persist.jdbc.opendburl), 새 데이터베이스 작성(imq.persist.jdbc.createdburl) 및 데이터베이스 연결 닫기(imq.persist.jdbc.closedburl) URL을 지정하는 등록 정보도 있습니다.
imq.persist.jdbc.user 및 imq.persist.jdbc.password 등록 정보는 데이터베이스에 액세스하는 데 사용되는 사용자 이름 및 비밀번호를 제공합니다. imq.persist.jdbc.needpassword는 비밀번호가 필요한지 여부를 지정하는 부울 플래그입니다. 보안상의 이유로 비밀번호는 -passfile 명령줄 옵션을 통해 지정된 비밀번호 파일에만 지정해야 합니다. imqbrokerd 및 imqdbmgr 명령은 대화식으로 비밀번호를 묻습니다. 이와 마찬가지로, 명령줄에서 imqbrokerd 명령의 -dbuser 옵션 또는 imqdbmgr 명령의 -u 옵션을 사용하여 사용자 이름을 입력할 수도 있습니다.
여러 브로커 인스턴스에서 공유하는 JDBC 데이터베이스에서 구성 등록 정보 imq.persist.jdbc.brokerid는 각각의 인스턴스에 대해 데이터베이스 테이블 이름에 추가할 고유한 인스턴스 식별자를 지정합니다. 보통 한 브로커 인스턴스에 대해서만 데이터를 저장하는 내장 데이터베이스에는 이 식별자가 필요하지 않습니다. 나머지 JDBC 관련 구성 등록 정보는 각 데이터베이스 테이블마다 한 개의 등록 정보로 구성된 데이터베이스 스키마를 생성하는 SQL 코드를 사용자 정의하는 데 사용됩니다. 예를 들어, imq.persist.jdbc.table.IMQSV35 등록 정보는 버전 테이블, imq.persist.jdbc.table.IMQCCREC35는 구성 변경 레코드 테이블, 그리고 imq.persist.jdbc.table.IMQDEST35는 대상 테이블을 생성하기 위한 SQL 명령을 제공합니다. 전체 목록은 표 14–6을 참조하십시오.
데이터베이스 시스템마다 필요한 정확한 SQL 구문이 다르기 때문에 자세한 내용은 데이터베이스 공급업체에서 제공하는 설명서를 참조하십시오.