DECLARE문을 사용하여 세 가지 변수 유형을 정의할 수 있습니다.
- 외부
- 외부 변수(EXTERNAL 키워드로 정의)는 사용자 정의 등록 정보(UDP)라고도 합니다(ESQL의 사용자 정의 등록 정보 참조).
외부 변수는 메시지 플로우의 전체 수명 동안 존재하며, 플로우를 통과하는
모든 메시지에서 볼 수 있습니다. 초기값(선택적으로 DECLARE문으로 설정)은
설계 시 메시지 플로우 편집기에 의해 수정되거나 전개 시 BAR 편집기에 의해 수정됩니다. 이 값은 ESQL로 수정할 수 없습니다.
- 정상
- "정상" 변수는 노드를 통해 전달되는 단일 메시지의 수명을 갖습니다. 이 변수는 해당 메시지에서만 볼 수 있습니다. "정상" 변수를 정의하려면
EXTERNAL 키워드와 SHARED 키워드 모두를 생략하십시오.
- 공유
- 공유 변수를 사용하여 메시지 플로우에서 메모리 내 캐시를
구현할 수 있습니다. 메시지 플로우 응답 시간 최적화를 참조하십시오. 공유 변수는 수명이 길고
플로우를 통해 전달되는 여러 메시지에서 볼 수 있습니다(수명이 긴 변수 참조). 실행 그룹 프로세스의 수명,
플로우 또는 노드의 수명 또는 변수를 선언하는 노드의 SQL의 수명 동안 존재합니다(가장 짧은 수명 동안).
각 브로커가 시작된 후 플로우 또는 노드를 통해 첫 번째 메시지가 전달될 때 초기화됩니다.
BEGIN ... END 명령문의
ATOMIC 옵션도 참조하십시오. BEGIN ATOMIC 구성은 공유 변수에 여러 변경사항이 작성되어야 하는 경우에 유용하며
다른 인스턴스에서 데이터의 중간 상태를 볼 수 없도록 해야 합니다.