다중 버스에서의 지점간 메시징
지점간 메시징은 각 큐 대상이 메시지 큐를 표시하는 큐 대상을 사용합니다.
서비스 통합 큐 대상은 특정 버스 멤버(애플리케이션 서버 또는 서버 클러스터)에서 로컬화됩니다. 생성자가 큐 대상으로 메시지를 전송하면 서비스 통합 버스는 해당 메시지를 해당 버스 멤버의 메시징 엔진으로 전달합니다. 그러면 메시징 엔진이 해당 메시지를 이용자에게 전달합니다. 필요한 경우 메시지 엔진은 이용자가 메시지를 수신할 준비가 될 때까지 메시지를 큐에 넣습니다.
애플리케이션은 버스 사이에 연결이 구성되어 있는 동안에는 원격 버스의 큐 대상에 메시지를 전송할 수 있습니다. 다른 메시징 네트워크에 연결하여 메시지를 교환하도록 버스를 구성할 수 있습니다. 이렇게 하려면 외부 버스 연결을 구성해야 합니다. 외부 버스 연결에는 원격 메시징 네트워크와 연관된 정보(예: 외부 버스의 유형 및 메시징 애플리케이션이 외부 버스로 메시지를 전송할 수 있는지의 여부)가 있습니다. 로컬 버스에서 외부 버스 연결을 통해 대상 버스를 인식합니다. 직접 로컬 버스에 연결된 버스가 지정한 대상을 대기하지 않는 경우, 더 많은 서비스 통합 버스 링크가 대상 버스로 가는 라우트에 있는 다음 버스에 메시지를 플로우하는 데 사용됩니다. 메시지에 대상 버스 입력 시 버스에서 메시지를 대상에 전달하려고 시도합니다.
외부 버스에 정의된 대상에 메시지를 전송하려면 애플리케이션에서 버스 이름(외부 버스) 및 JMS 대상 오브젝트의 대상 이름(큐 또는 토픽)를 지정합니다. 로컬 버스에 대상 오브젝트를 구성할 필요는 없습니다. 서비스 통합은 외부 버스가 연결된 로컬 버스에서 구성된 외부 버스의 정의를 사용합니다. 이 정의에는 대상 속성의 기본값(예: 기본 서비스 품질)이 포함됩니다. 이러한 기본값은 외부 버스에 있는 모든 대상에 적용됩니다.
버스 대상에 대한 정보에서 설명된 대로 큐 대상을 외부 대상 또는 별명 대상으로 구성할 수 있습니다.
애플리케이션이 대상에 메시지를 전송하고 외부 대상 또는 별명 대상이 구성되지 않은 경우 대상 기본값은 외부 버스 연결에 대해 지정된 대상 기본값으로부터 파생됩니다.
- 서비스 통합은 외부 버스인 버스 2의 버스 1에 있는 정의를 사용하여 메시지를 버스 2로 라우트합니다.
- 버스 2는 로컬 큐 targetQueue의 버스 2에 있는 정의를 사용하여 targetQueue로 메시지를 전달합니다.
이 예제에서 버스 1의 서비스 통합은 외부 버스인 버스 2의 정의 속성을 외부 버스에 있는 대상 targetQueue의 기본값으로 사용합니다. 서비스 통합에서는 외부 버스로 범위가 지정된 구성 정보를 사용할 수 없습니다. 예를 들어, 버스 1의 서비스 통합은 targetQueue의 버스 2 정의를 인식하지 않습니다.
다음 그림에서는 버스 1에 연결된 JMS 애플리케이션이 버스 2에서 큐에 대한 생성자를 작성합니다. 이 애플리케이션은 JNDI를 사용하여 버스 2에서 서비스 통합 버스 큐를 식별하는 JMS 대상 오브젝트를 얻습니다. 애플리케이션은 JMS 메시지의 JMSReplyTo 특성을 사용하는 등의 다른 방법으로 JMS 대상을 얻을 수 있습니다.

- JMS 애플리케이션은 JNDI 검색을 사용하여 JMS 대상을 얻습니다.
- JMS 애플리케이션은 JMS 대상에 메시지를 전송합니다. 이는 논리 메시지 플로우입니다.
- 로컬 버스인 버스 1은 전송 애플리케이션으로부터 목표 대상을 포함하는 외부 버스인 버스 2에 메시지를 전송합니다. 버스 1은 외부 버스 연결을 구성하는 기본 특성 및 대상 역할을 적용합니다.
- 외부 버스는 대상에 메시지를 배치합니다.
대상을 호스트하는 버스만이 대상이 있음을 인식할 수 있습니다. 애플리케이션이 외부 버스에서 대상에 메시지를 전송하려면 대상이 있어야 합니다. 로컬 버스는 대상이 있는지 확인할 수 없습니다. 메시지가 외부 버스에 없는 대상의 서비스 통합 버스 링크를 통해 도달한 경우, 메시지가 수신 서비스 통합 버스 링크의 예외 처리 구성을 사용하여 라우트됩니다.