사용자 정의 등록 정보(UDP)는 초기값이 설계 시 메시지 플로우 편집기에 의해 수정되거나 전개 시 브로커 아카이브 편집기에 의해 대체될 수 있는 사용자 정의 상수입니다. ESQL 또는 Java 프로그램에서 UDP를 사용할 수 있습니다. ESQL에서는 DECLARE문을 사용하여 프로그램에 UDP를 정의합니다. DECLARE문에서 UDP에 초기 값을 제공할 수 있지만 사용자의 코드가 런타임 시 값을 수정할 수 없습니다.
UDP가 DECLARE문에서 초기값으로 제공된 경우 기본 설정됩니다. 그러나 설계 시 메시지 플로우나 전개 시 BAR 편집기에서 지정한 값(문자열의 길이가 0인 경우에도)은 DECLARE문에서 코드화된 초기값을 대체합니다.
메시지 플로우의 모든 UDP는 DECLARE문이나 메시지 플로우 또는 BAR 편집기에서 제공한 값이 있어야 합니다. 그렇지 않으면 전개 시 오류가 발생합니다. 런타임 시 UDP가 선언된 후 그 값은 후속 ESQL 문에서 조회할 수 있지만 수정할 수는 없습니다.
UDP의 장점은 전개 시 조작 직원이 해당 값을 변경할 수 있다는 점입니다. 예를 들어, UDP를 사용하여 구성 데이터를 보존하는 경우 노드 레벨에서 코드를 변경할 필요 없이 전개 시 특정 시스템, 작업 또는 환경에 대한 메시지 플로우를 구성할 수 있습니다. 예를 들어 구성 데이터는 플러그인에 의해 데이터베이스와 같은 데이터 소스에서 액세스하거나 환경 트리로 복사할 필요가 없습니다.
UDP를 사용하면 구성 데이터를 쉽게 설정하고 정상 상수와 같이 사용할 수 있습니다. 사용자 작성 플러그인 또는 환경 트리의 구문 분석에 대한 추가 호출이 있기 때문에 ESQL 코드는 보다 쉽게 기록하거나 유지보수하거나 더 잘 수행할 수 있습니다. 또한 트리에서 데이터를 읽는 구문 분석 비용이 제거됩니다. 사용자 정의 등록 정보 값은 전개 시 변수에 기록되므로 신속히 액세스할 수 있습니다.
UDP를 프로그램에 추가하려면 DECLARE문을 사용하십시오. 모듈 또는 스키마에서만 UDP를 선언할 수 있습니다.
메시지 플로우 편집기를 사용하여 사용자 정의 등록 정보 값을 변경하는 경우 UDP는 플로우 레벨에서 설정되고 플로우에 포함된 모든 적절한 노드에 대해 동일합니다. ("적절한 노드"는 UDP를 지원하는 노드이고 UDP를 응용프로그램으로 선언하는 DECLARE문의 범위에 있습니다.) 예를 들어, 메시지 플로우 편집기를 사용하여 "mySchema"라는 스키마, "myFlow"라는 메시지 플로우에서 선언되는 "timezone"이라는 사용자 등록 정보의 값을 변경하는 경우 UDP는 UDP를 지원하고 mySchema에 해당하는 myFlow의 모든 노드에서 런타임으로 사용 가능합니다.
프로그램에 대한 사용자 정의 등록 정보 정의에 관한 정보는 DECLARE문을 참조하십시오.