2009-07-27 2 views
1

메시징 미들웨어 솔루션 (JMS, Tibco 등)은 특정 "주제"의 모든 메시지에 가입하기 위해 와일드 카드를 사용하여 "주제"필터링을 사용하여 게시/가입을 허용합니다. SUBSCRIBE ("ACCOUNT. *") 항목을 사용하면 "ACCOUNT.WITHDRAW"메시지와 "ACCOUNT.CHECKBALANCE"메시지를 모두 구독 할 수 있습니다.메시징 미들웨어 - 와일드 카드 가입으로 재 방문을 피하는 방법은 무엇입니까?

문제는 그러한 구독이 내 자신의 게시 된 메시지를 수신한다는 것입니다.

전송중인 데이터를 엉망으로 만들지 않고 전송 계층에서 ON 또는 OFF 할 수있는 UDP 멀티 캐스트 루프백과 비슷한 메커니즘을 찾고 있습니다.

매우 동일한 서비스 인스턴스가 게시 한 메시지를받지 않도록 미들웨어를 구성하는 공통적 인 선언적 (사용자 정의 코드 없음, 구성 전용) 방법이 있습니까? 이상적으로 이것은 동일한 "종류"의 모든 서버 (노드)가 게시 한 모든 것을 필터링 할 수 있어야합니다.

미리 감사드립니다.

답변

0

아무도 대답하지 않으므로 나는 손을 흔드십시오.

내가 주제 수신자에게 자신의 보낸 메시지를 다시 보낼지 여부를 제어하는 ​​데있어 JMS spec에는 아무것도 없다고 생각합니다. 따라서 이와 같은 기능은 이동이 불가능한 공급 업체 기능입니다. 특히 두 번째 요구 사항 (JMS 클라이언트의 "종류"및 전송/수신을 수행하는 동일한 연결을 기반으로하는 일부 제어)을 위해.

코드 또는 메시지 내용 (속성)을 수정할 융통성이 없다면 휴대용 솔루션이 없다고 생각합니다. 그리고 두 번째 "친절한"요구 사항에 대한 해결책은 없을 것입니다. 당신은 공급 업체 특정 옵션을 조사하려면

, 당신은 당신은 아무것도 얻을 수 없다. 당신이에 관심이있는 업체 우리에게 얘기를해야합니다,하지만 요청하지 않고 알 수있는 방법이 없습니다.

+0

감사합니다. 필자는 필요한 기능을 지원하는 솔루션/공급 업체에 관심이있었습니다. 비록 그것이 그런 기본적인 기능이 표준이되지 않는다는 사실에 조금 놀랐지 만 비 제너릭 (non-generic)이라고는 생각하지 않는다. (이것은 매우 사소한 메시지 방송 메커니즘 (UDP)에서도 존재한다) – Borka

+0

메시지 속성 및 소비자 선택자가있는 이러한 유형의 항목입니다. 하지만이를 위해서는 코드 수정시 유연성이 필요합니다. 이런 기능을 제공하는 공급 업체를 알지 못합니다. 나는 단지 추측하고 있었다. .. –

1

JMS API에는 TopicSubscribers에 대한이 옵션이 들어 있습니다. TIBCO EMS는 "noLocal"속성을 사용하여 소비자를 만듭니다. 즉, 동일한 연결을 통해 게시 된 메시지는 동일한 연결의 클라이언트에서 소비되지 않습니다.

은 "noLocal"옵션을 주제 가입자를 만드는 방법을 여기 좀 봐 : https://docs.tibco.com/pub/enterprise_message_service/7.0.1-march-2013/doc/html/tib_ems_api_reference/api/javadoc/javax/jms/TopicSession.html