การโพลคิวข้อความ IBM Websphere

ข้อกำหนด: สร้างแอปพลิเคชันที่ใช้ .NET ซึ่งสามารถอ่านข้อความในช่วงเวลาปกติจาก IBM Websphere Message Queue และบันทึกข้อความเหล่านั้นในฐานข้อมูล

วิธีแก้ปัญหาของฉัน: ฉันสร้างแอปพลิเคชันบริการ Windows ที่สำรวจคิวข้อความในช่วงเวลาหนึ่งและประมวลผลข้อมูล

ปัญหาในการโพลคือกระบวนการสมัครล่าช้าตามช่วงเวลาการโพล ฉันไม่สามารถกำหนดช่วงเวลาให้สั้นเกินไปได้ เนื่องจากฉันไม่แน่ใจว่าจะมีข้อมูลอยู่ในคิวข้อความจำนวนเท่าใด และจะใช้เวลาในการประมวลผลนานเท่าใด

คำถาม: อะไรจะดีไปกว่าการประมวลผลข้อมูลจาก WebSphere Message Queue โดยใช้ .NET ฉันจะสามารถประมวลผลข้อมูลทันทีที่มาถึงคิวข้อความได้อย่างไร


person fahmi    schedule 08.07.2015    source แหล่งที่มา
comment
เหตุใดแอปพลิเคชันจึงไม่เป็นไปตามรูปแบบปกติของ GET โดยต้องรอ   -  person T.Rob    schedule 08.07.2015
comment
@T.Rob ไม่แน่ใจว่าคุณหมายถึงอะไร ขณะนี้แอปพลิเคชันรอเป็นเวลา 30 วินาที จากนั้นรับและประมวลผลข้อความจาก MQ   -  person fahmi    schedule 09.07.2015
comment
คำถามแจ้งว่าขั้นตอนการสมัครล่าช้าตามช่วงการเลือกตั้ง โดยปกติ แอปพลิเคชันจะออก GET และระบุช่วงเวลา WAIT เมื่อมีข้อความมาถึง จะไม่มีความล่าช้าเป็นศูนย์เนื่องจากแอปกำลังรออยู่ หาก WAIT หมดอายุ แอปจะได้รับ RC=2033 และวนกลับด้วยอีก GET และ WAIT อย่างไรก็ตาม หากแอปพลิเคชันออก GET โดยไม่มี WAIT จากนั้นจะเข้าสู่โหมดสลีปเป็นเวลา 30 วินาที แสดงว่าอาจมีความล่าช้าเป็นเวลานานในขณะที่แอปอยู่ในโหมดสลีป   -  person T.Rob    schedule 09.07.2015


คำตอบ (2)


สิ่งที่คุณต้องการคือการส่งข้อความแบบอะซิงโครนัส ซึ่งทำงานโดยการลงทะเบียนการติดต่อกลับ ซึ่งไคลเอ็นต์ MQ จะเรียกใช้เมื่อมีข้อความ ดูที่หน้าศูนย์ความรู้:

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q023050_.htm

person Tim McCormick    schedule 08.07.2015

คุณต้องใช้ IBM Message Service Client for .NET (a.k.a. XMS .NET) ไคลเอนต์นี้มีฟีเจอร์การฟังข้อความ (โดยพื้นฐานแล้วจะเป็นการโทรกลับตามที่ Tim กล่าวไว้ข้างต้น) ตัวฟังข้อความจะถูกเรียกใช้เมื่อข้อความที่ตรงกับเกณฑ์การเลือกของผู้บริโภคมาถึงคิว

หากคุณใช้ MQ v7.1 หรือสูงกว่า XMS .NET จะถูกติดตั้งพร้อมกับไคลเอนต์ MQ หากคุณเป็นเวอร์ชันที่ต่ำกว่า คุณจะต้องดาวน์โหลด IA9H แพ็คสนับสนุน คุณจะต้องอ้างอิงแอสเซมบลี IBM.XMS ในแอปพลิเคชันของคุณ ตัวอย่างจะถูกจัดส่งพร้อมกับผลิตภัณฑ์เพื่อสาธิตคุณสมบัติหลายประการ รวมถึงตัวฟังข้อความ

ดูตัวอย่าง SimpleAsyncConsumer.cs ที่จัดส่งพร้อมกับผลิตภัณฑ์เพื่อดูรายละเอียด

person Shashi    schedule 11.07.2015