0
내가이 그룹에 대한 모든 시퀀스를 얻는다 그룹 ID 및 시퀀스 information.Once 각 메시지 헤더에서 찾고 웹 스피어 MQ 큐에서 메시지를 가져옵니다 제이 보스에 배포 된 MDB가

WAS의 페이로드를 함께 넣는다 하나의 커다란 메시지를 형성하기 위해받은 각 메시지를 다른 시스템으로 보냅니다.MDB 7 클러스터

이제 MDB는 Websphere Application Server 7 클러스터 환경에 배치 될 것이고 클러스터의 한 인스턴스에 의해 그룹에 대한 모든 메시지 시퀀스를 수집 할 수있는 캐싱/구성이 있는지는 잘 모릅니다 (그렇지 않으면 한 인스턴스가 메시지 부분과 나머지 인스턴스를 받으면 나머지 MDB는 하나의 큰 메시지를 결합 할 수 없습니다.

jms-ra 리소스 어댑터를 con로 구성 할 수 있습니다. sun.genericra.loadbalancing.selector = (예 : 다른 인스턴스의 경우 JMSType = 'Instance1'등) JMSType 헤더가 메시지에 있어야하며이 메시지를 처리하려면 'Instance1'이어야합니다 (예 : 1).

하지만 잘 모르겠어요 경우 MDB가 메시지 헤더에 이러한 정보를 보내드립니다을 집어 곳에서 큐의 메시지를 넣어 것입니다 시스템.

이렇게하려면 클러스터를 구성하는 방법이 있습니까?

답변

0

클러스터 환경에서 작업 할 때 MDB는 독립적으로 작동합니다. 동기화를 달성하는 데는 여러 가지 방법이 있습니다.

1) 선택자를 사용하여 클러스터 노드간에 메시지 흐름을 나눌 수 있습니다. 여기에 문서가 있습니다 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqzal.doc%2Ffg20180_.htm 주요 문제는 선택자가 작업을하기 위해 메시지 속성에 정보가 필요하다는 것입니다. 누군가는 거기에 두어야합니다.

2)는 DB로 "공유"데이터 수집기에 동기화 해를 만들 수 있습니다. 받은 메시지를 여기에 넣습니다. 추가 처리는 비동기로 수행하거나 마지막 메시지를 기초로 수행 할 수 있습니다.

3) "프록시"를 직접 만들 수 있습니다. 추가 "내부"대기열을 만들 수 있습니다. 외부 대기열에서 여러 MDB로 메시지를 가져 와서 분석하고 포인트 1에 필요한 속성을 넣습니다. 그런 다음 메시지를 내부 대기열에 넣고 다른 노드의 선택자를 사용하여 메시지를 포인트 1과 같이 읽습니다.

+0

나는 점 두 번째로 기술 된 것과 유사한 무언가를가는 생각했지만, 결국이 (그림 6 번)을 수행하기로 결정했다 http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/ index.jsp를? 주제 = %의 2Fcom.ibm.websphere.nd.multiplatform.doc % 2Finfo % 2Fae % 2Fae % 2Fcjn_mdb_endpt_overview.html – kien

+0

이 변종은 아마도 소프트웨어의 일부 구조 변경을해야합니다. 귀하의 경우 하나의 MDB 만 동시에 작동하므로 MDB의 프로세스에서 작업이 이루어지면 동시에 하나의 작동하는 서버를 갖게됩니다. 클러스터에서 응용 프로그램을 잘 작동 시키려면 3 번과 같은 아키텍처를 만들어야합니다. –

+0

읽기 http://www.ibm.com/developerworks/websphere/library/techarticles/0602_currie/0602_currie.html 만든 것들을 훨씬 쉽게 (메시지 선택기를 설정하여 JMS_IBM_Last_Msg_In_Group = 웹 스피어에서 정의 된 활성화 스펙에 TRUE) – kien