Sun Java System Message Queue 4.2 릴리스 노트

게시자 또는 가입자를 위한 여러 대상

Message Queue 4.2에서 이제 게시자는 여러 주제 대상에 메시지를 게시할 수 있고 가입자는 여러 주제 대상에서 메시지를 사용할 수 있습니다. 여러 대상을 나타내는 와일드카드 문자가 포함된 주제 대상 이름을 사용하여 이 기능을 수행할 수 있습니다. 이러한 심볼릭 이름을 사용하면 관리자는 필요에 따라 와일드카드 이름 지정 체계에 맞게 추가 주제 대상을 만들 수 있습니다. 게시자와 가입자는 추가된 대상에서 자동으로 메시지를 게시하거나 사용합니다. (와일드카드 주제 가입자가 게시자보다 더 일반적입니다.)


주 –

대기열 대상에는 이 기능이 적용되지 않습니다.


심볼릭 주제 대상의 이름 형식은 여러 세그먼트로 구성되며 와일드카드 문자(*, **, >)는 하나 이상의 이름 세그먼트를 나타낼 수 있습니다. 예를 들어, 다음과 같은 주제 대상 이름 지정 체계가 있다고 가정합니다.

size.color.shape

여기서 주제 이름 세그먼트에는 다음과 같은 값이 있을 수 있습니다.

메시지 대기열에서는 다음과 같은 와일드카드 문자가 지원됩니다.

따라서 다중 주제 대상을 다음과 같이 나타낼 수 있습니다.

large.*.circle은 다음을 나타냅니다.

large.red.circle
large.green.circle
...

**.square.square로 끝나는 모든 이름을 나타냅니다. 예를 들면 다음과 같습니다.


small.green.square
medium.blue.square
...

small.>small.로 시작하는 모든 대상 이름을 나타냅니다. 예를 들면 다음과 같습니다.


small.blue.circle
small.red.square
...

이 다중 대상 기능을 사용하려면 위에 설명한 것과 비슷한 이름 지정 체계를 사용하여 주제 대상을 만들어야 합니다. 그러면 클라이언트 응용 프로그램에서 심볼릭 대상 이름을 사용하여 게시자 또는 사용자를 만들 수 있습니다. 예를 들면 다음과 같습니다.

...
String DEST_LOOKUP_NAME = "large.*.circle";
Topic t = (Destination) ctx.lookup(DEST_LOOKUP_NAME);
TopicPublisher myPublisher = mySession.createPublisher(t)
myPublisher.send(myMessage);
...
String DEST_LOOKUP_NAME = "**.square";
Topic t = (Destination) ctx.lookup(DEST_LOOKUP_NAME);
TopicSubscriber mySubscriber = mySession.createSubscriber(t);
Message m = mySubscriber.receive();

첫 번째 예에서 브로커는 심볼릭 이름 large.*.circle과 일치하는 모든 대상에 메시지 사본을 넣습니다. 두 번째 예에서는 심볼릭 이름 **.square와 일치하는 대상이 하나 이상 있을 경우 가입자가 만들어지고 해당 심볼릭 이름과 일치하는 모든 대상으로부터 메시지를 받습니다. 심볼릭 이름과 일치하는 대상이 없을 경우 해당 대상이 있을 때까지 가입자가 만들어지지 않습니다.

관리자가 심볼릭 이름과 일치하는 추가 대상을 만들면 해당 심볼릭 이름을 사용하여 작성된 와일드카드 게시자가 이 대상에 게시하고, 해당 심볼릭 이름을 사용하여 작성된 와일드카드 가입자는 해당 대상으로부터 메시지를 받게 됩니다.

또한 주제 대상에 대한 게시자(생성자) 및 가입자(사용자)의 전체 수를 보고하는 것 외에도, Message Queue 관리 도구에서는 와일드카드 게시자인 게시자 수(해당되는 심볼릭 대상 이름 포함)와 와일드카드 가입자인 가입자 수(심볼릭 대상 이름 포함)도 보고합니다(있는 경우).