지정된 ODBC 데이터 소스의 데이터베이스와 상호작용하려면 Warehouse 노드를 사용하십시오. Warehouse 노드는 데이터베이스의 테이블에 있는 전체 메시지나 메시지의 일부 또는 둘 다를 저장하는 Database 노드의 특수화된 형식입니다. 필수 조치를 식별하기 위해 입력 메시지의 데이터를 사용하는 맵핑을 정의하여 저장 내용을 정의합니다.
메시지 Warehouse를 사용하여 다음을 수행할 수 있습니다.
표준 데이터베이스 쿼리 및 탐색 기술을 사용하여 저장한 메시지를 검색할 수 있습니다. WebSphere Message Broker에서는 명확한 지원이 제공되지 않습니다.
다음을 작성해야 합니다(다른 사용자가 작성한 경우에는 식별해야 함).
Warehouse 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
Warehouse 노드를 사용할 때, 노드와 연관된 데이터베이스에 다음을 저장하도록 선택할 수 있습니다.
Warehouse 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 노드의 기본 등록 정보가 표시됩니다.
값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 Warehouse 노드를 구성하십시오.
z/OS 시스템에서는 브로커가 브로커 시작 작업 ID나, 사용자 정의 데이터 세트 <hlq>.SBIPPROC에서 mqsisetdbparms 명령 JCL, BIPSDBP에 지정한 사용자 ID 및 암호를 사용합니다.
이 입력 필드 옆의 찾아보기를 누르면 이 노드에서 액세스할 수 있는 사용 가능한 모든 맵핑 루틴을 나열하는 대화 상자가 표시됩니다. 원하는 루틴을 선택한 후 확인을 누르십시오. 루틴 이름은 필드 모듈에 설정되어 있습니다.
이 노드와 연관된 맵핑 루틴에 대해 작업하려면 노드를 마우스 오른쪽 단추로 누르고 맵핑 열기를 누르십시오. 맵핑 루틴이 존재하지 않을 경우, 디폴트 파일의 디폴트 이름이 작성됩니다. 파일이 이미 존재할 경우, 네비게이터 보기에서 <flow_name>_<node_name>.mfmap 파일을 열 수도 있습니다.
맵핑 루틴의 컨텐츠가 데이터베이스에 저장된 내용 및 저장 형식을 판별합니다. 예를 들면, 각 메시지 전체 또는 부분만 저장하도록 선택할 수 있습니다. 데이터를 2진 데이터로 저장하거나 각 필드를 메시지에 있는 형식과 동일한 형식으로 저장하도록 선택할 수 있습니다(예: 메시지의 문자 필드를 데이터베이스에 문자로 저장).
맵핑 루틴은 연관되는 노드 유형에 고유합니다. Warehouse 노드용으로 개발한 맵핑 루틴을 맵핑을 사용하는 다른 노드(예: DataInsert 노드)와 함께 사용할 수 없습니다. 맵핑 루틴을 작성하는 경우, ESQL 루틴에서 맵핑 루틴을 호출할 수 있지만 다른 맵핑 루틴에서는 이를 호출할 수 없습니다.
상자를 선택하면, 노드는 데이터베이스에서 리턴된 모든 양의 리턴 코드를 오류로 핸들링하고 음의 리턴 코드 또는 그 이상의 심각한 오류에서와 같은 방법으로 예외를 생성합니다.
선택란을 선택하지 않으면, 노드에서는 경고를 정상 리턴 코드로 처리하고 예외를 전달하지 않습니다. 발생하는 경고 중 가장 중요한 것은 없음으로서, 대부분의 환경에서 정상적인 리턴 코드로 안전하게 핸들링될 수 있습니다.
선택란을 지운 경우, 브로커와 데이터베이스의 무결성을 보장하려면 메시지 플로우 내의 오류를 핸들링해야 합니다. 자체 처리를 통해 오류를 핸들링하지 않을 경우, 브로커가 디폴트 오류 핸들링을 호출하도록 선택하지 않았으므로 오류가 무시됩니다. 예를 들면, failure 터미널을 오류 처리 서브루틴에 연결할 수 있습니다.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
다음 표에는 Warehouse 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
In | 노드가 처리할 메시지를 승인하는 입력 터미널. |
Failure | 처리 중에 실패가 감지될 경우 입력 메시지가 전달될 출력 터미널. 경고를 오류로 처리를 선택했으면, 처리가 완료되었더라도 노드는 메시지를 이 터미널로 전달합니다. |
Out | 데이터베이스 명령문 실행 결과 발생하는 메시지를 출력하는 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 Warehouse 노드 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
데이터 소스 | 아니오 | 예 | 이 등록 정보는 이 노드와 연관된 맵핑에서 참조하는 테이블을 포함한 데이터베이스의 ODBC 데이터 소스 이름(필드 맵핑 등록 정보에 의해 식별됨). | |
필드 맵핑 | 예 | 아니오 | Warehouse | 데이터베이스 또는 메시지 트리에 대해 실행되는 명령문을 포함하는 맵핑 루틴의 이름. 이 유형의 노드에 대해 루틴은 고유합니다. |
트랜잭션 | 예 | 아니오 | 자동 | 노드의 트랜잭션 모드. 자동 또는 확약일 수 있습니다. |
경고를 오류로 처리 | 예 | 아니오 | 지우기 | 데이터베이스 SQL 경고를 오류로 처리합니다. 이 선택란을 선택하면 조치가 수행됩니다. |
데이터베이스 오류 시 예외 전달 | 예 | 아니오 | 선택 | 데이터베이스 오류가 발생할 때 브로커가 예외를 전달하도록 합니다. 이 선택란을 선택하면 조치가 수행됩니다. |
다음 표에는 Warehouse 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |