คำถามของคุณค่อนข้างยุ่งและคล้ายกับคำถามที่ยากในกระดาษคำถาม :) (เนื่องจากครูมักจะพยายามถามคำถามง่ายๆที่ซับซ้อน: DI หวังว่าคุณจะไม่ใช่ครู :)) มาดูทั้งหมดนี้ทีละคำถาม
ดังที่คุณทราบ:
Java Message Service (JMS) API เป็น Java Message Oriented Middleware (MOM) API สำหรับการส่งข้อความระหว่างไคลเอ็นต์ตั้งแต่สองเครื่องขึ้นไป JMS เป็นส่วนหนึ่งของ Java Platform, Enterprise Edition และกำหนดโดยข้อกำหนดที่พัฒนาขึ้นภายใต้ Java Community Process เป็น JSR 914 เป็นมาตรฐานการส่งข้อความที่อนุญาตให้ส่วนประกอบของแอปพลิเคชันที่ใช้ Java Enterprise Edition (Java EE) สามารถสร้างได้ ส่งรับและอ่านข้อความ จะช่วยให้การสื่อสารระหว่างส่วนประกอบต่างๆของโปรแกรมการกระจายที่จะคู่อย่างอิสระและเชื่อถือได้และไม่ตรงกัน
ตอนนี้ (จากWikipedia ):
Advanced Message Queuing Protocol (AMQP)เป็นโปรโตคอลชั้นแอปพลิเคชันมาตรฐานแบบเปิดสำหรับมิดเดิลแวร์ที่เน้นข้อความ คุณสมบัติที่กำหนดของ AMQP ได้แก่ การวางแนวข้อความการจัดคิวการกำหนดเส้นทาง (รวมถึงจุดต่อจุดและการเผยแพร่และสมัครสมาชิก) ความน่าเชื่อถือและความปลอดภัย
และสิ่งที่สำคัญที่สุด (อีกครั้งจาก Wikipedia):
แตกต่างจาก JMS ซึ่งเป็นเพียงการกำหนด API AMQP เป็นโปรโตคอลระดับสาย โปรโตคอลระดับสายคือคำอธิบายรูปแบบของข้อมูลที่ส่งผ่านเครือข่ายในรูปแบบของอ็อกเต็ต ดังนั้นเครื่องมือใด ๆ ที่สามารถสร้างและตีความข้อความที่สอดคล้องกับรูปแบบข้อมูลนี้สามารถทำงานร่วมกับเครื่องมืออื่น ๆ ที่สอดคล้องกันได้โดยไม่คำนึงถึงภาษาการนำไปใช้งาน
สิ่งสำคัญบางประการที่คุณควรรู้:
- โปรดทราบว่า AMQP เป็นเทคโนโลยีการส่งข้อความที่ไม่ได้ใช้ JMS API
- JMS คือ API และ AMQP เป็นโปรโตคอลดังนั้นจึงไม่สมเหตุสมผลที่จะบอกว่าโปรโตคอลเริ่มต้นของ JMS คืออะไรแน่นอนว่าแอปพลิเคชันไคลเอ็นต์ใช้ HTTP / S เป็นโปรโตคอลการเชื่อมต่อเมื่อเรียกใช้ WebLogic Web Service
- JMS เป็นเพียงข้อมูลจำเพาะของ API ไม่ใช้โปรโตคอลใด ๆ ผู้ให้บริการ JMS (เช่น ActiveMQ) สามารถใช้โปรโตคอลพื้นฐานใด ๆ เพื่อรับ JMS API ตัวอย่างเช่น: Apache ActiveMQ สามารถใช้โปรโตคอลต่อไปนี้: AMQP, MQTT, OpenWire, REST (HTTP), RSS และ Atom, Stomp, WSIF, WS Notification, XMPP ผมขอแนะนำให้คุณอ่านใช้ JMS ขนส่งเป็นการเชื่อมต่อพิธีสาร
โชคดี :)