메시지 맵 배치

기본적으로 메시지 맵 파일은 통합 솔루션을 제공하는 애플리케이션, 통합 서비스 또는 라이브러리의 일부로 BAR 파일에 배치됩니다. 이러한 방식으로 메시지 플로우 를 관리하는 경우 독립 자원으로 맵을 배치할 수도 있습니다. 메시지 맵을 변경하는 경우 통합 솔루션 또는 독립 메시지 플로우를 재배치해야 합니다.

태스크 정보

통합 솔루션 또는 Mapping 노드를 포함하는 메시지 플로우가 배치되면 Mapping 노드의 Mapping routine 특성에서 참조되는 메시지 맵이 해석되고 유효성 검증됩니다. 이 전파는 첫 번째 메시지가 노드를 통해 이동할 때가 아니라 배치 시간에 발생합니다.

이 작동은 다음과 같은 장점이 있습니다.
  • 첫 번째 메시지가 노드를 통해 플로우될 때 메시지 맵 을 초기화하는 성능이 저하되지 않습니다.
  • 메시지 맵 및 해당 종속 항목 (예: 참조된 메시지 모델) 은 배치 중에 해석되고 유효성 검증되어 첫 번째 메시지에서 메시지 맵 이 성공적으로 실행되는지 확인합니다.
  • 메시지 맵 구문은 메시지 맵 이 첫 번째 메시지에서 성공적으로 실행되는지 확인하기 위해 배치 중에 유효성 검증됩니다.
  • IBM® App Connect Enterprise 가 재시작되면, 메시지 흐름 이 복원되기 전에 메시지 맵 구문과 그 종속성이 검증됩니다.

배치 실패를 방지하려면 모든 메시지 맵 종속성, 참조된 스키마, ESQL 모듈, Java™ 클래스 및 기타 자원을 BAR 파일에 포함해야 합니다. 메시지 맵 정적 오류 (예: 올바르지 않은 XPath 표현식) 를 해결해야 합니다. 이런 요구사항이 충족되지 않으면 맵 생성 실패를 보고하는 BIP 메시지가 수신됩니다.

기본적으로 BAR 파일에 있지만 Mapping 노드의 Mapping routine 특성에서 참조되지 않는 맵은 배치 시 유효성이 검증되지 않습니다. 맵이 Mapping 노드에 의해 동적으로 사용되는 경우, LocalEnvironment 대체 (LocalEnvironment.Mapping.MappingRoutine = '{brokerSchemaName}:mapName') 에서 맵을 선택하면 처음 사용될 때 유효성이 검증되고 준비됩니다.

server.conf.yaml 구성 파일 또는 mqsichangeproperties 명령에서 generateAllMapsOnDeploy 특성을 true 로 설정하여 배치 시 모든 메시지 맵을 유효성 검증하고 준비하도록 통합 노드 또는 서버를 구성할 수 있습니다. 예를 들어, 통합 노드의 특성을 설정하려면 다음 명령을 사용할 수 있습니다.
mqsichangeproperties --integration-node integrationNodeName --property generateAllMapsOnDeploy --value true
통합 서버(독립 통합 서버 또는 통합 노드에서 관리하는 서버)의 특성을 설정하려면 server.conf.yaml 구성 파일에서 이를 설정할 수 있습니다.
generateAllMapsOnDeploy: true
그리고 이 변경사항을 적용하려면 통합 서버를 재시작해야 합니다.

generateAllMapsOnDeploy 특성을 true로 설정하는 경우 애플리케이션, 라이브러리 및 통합 프로젝트의 모든 .map 파일이 BAR 파일에 있는 Mapping 노드에서 사용되도록 의도되었는지 확인하십시오. 애플리케이션, 라이브러리 또는 통합 프로젝트에 다른 .map 파일이 있으면 배치에 실패할 수 있습니다.

프로시저

메시지 맵을 배포할 때, ` IBM App Connect Enterprise `의 동작은 다음과 같습니다:

  • BAR 파일 배치 또는 재배치 시의 작동:
    1. 모든 메시지 맵 의 유효성을 검증하여 런타임 시 모든 맵 종속성을 해석할 수 있는지 확인합니다. 이 유효성 검증 단계는 참조되는 메시지 모델(예: XML 스키마 파일, DFDL 스키마 파일, 메시지 세트 파일, 참조되는 서브맵)이 해결 가능한지 검사합니다.
    2. 메시지 맵 및 해당 종속 항목이 실행 가능한 양식으로 생성됩니다. 이 단계는 맵 및 서브맵의 컨텐츠가 올바른지 및 올바르지 않은 XPath 표현식과 같은 오류가 없는지도 검사합니다.
    3. 메시지 맵 및 해당 종속 항목이 올바르고 성공적으로 생성될 수 있는 경우 구성 저장소에 배치되고 생성된 양식 모두에서 지속됩니다. 그렇지 않으면 배치가 중지되고 맵 생성 실패를 보고하는 BIP 메시지가 수신됩니다.
  • 배치 후 작동:
    1. 생성된 메시지 맵 을 Java 바이트 코드로 컴파일하기 위한 백그라운드 처리가 시작되어 JIT 최적화의 이점을 얻을 수 있습니다. 각 맵의 Java 바이트 코드는 컴파일 완료 시 지속됩니다.
  • 첫 번째 메시지 플로우가 배치 또는 재배치 후에 실행되는 경우의 작동:
    1. 백그라운드 컴파일 처리가 완료되면 Mapping 노드가 Java 바이트 코드를 실행하고 JIT 최적화가 시작됩니다.
    2. 백그라운드 컴파일 처리가 완료되지 않은 경우 Mapping 노드는 컴파일이 완료될 때까지 생성된 양식으로 초기에 맵을 실행합니다. 그런 다음 JIT 최적화가 실행됩니다.
  • 배치 또는 재배치 후에 플로우되는 모든 후속 메시지 작동:
    1. 준비된 메시지 맵 이 실행됩니다. 백그라운드 프로세스가 완료되면 JIT 최적화가 시작됩니다.
  • IBM App Connect Enterprise 를 다시 시작할 때, 즉 통합 노드, 통합 서버, 통합 솔루션 또는 메시지 흐름을 다시 시작할 때의 동작:
    1. 맵에 대해 컴파일된 Java 바이트 코드가 사용 가능한 경우 로드되고 첫 번째 메시지가 처리되는 즉시 Mapping 노드가 이 코드를 실행합니다. 그런 다음 JIT 최적화가 실행됩니다.
    2. 맵에 대해 생성된 양식이 사용 가능하고 로드된 경우, 백그라운드 처리가 시작되어 생성된 맵을 Java 바이트 코드로 컴파일하여 JIT 최적화의 이점을 얻을 수 있습니다. 각 맵의 Java 바이트 코드는 컴파일 완료 시 지속됩니다.
    3. 생성된 또는 컴파일된 코드 모두 사용할 수 없는 경우 맵은 BAR 파일을 배치 또는 재배치할 때와 동일한 방식으로 처리됩니다.