JMS支援兩種訊息傳送模式(Message Delivery Models):PTP及Pub/sub模式。
Point-to-Point(PTP) 點對點模式
訊息的producer(生產者)又稱為sender (發送者),訊息的consumer(消費者)又稱為receiver(接收者)。
sender把訊息送到指定的queue(佇列),receiver再從指定的queue接收訊息。
receiver要註冊queue才能接收訊息。若queue沒有receiver註冊,則queue會保有該訊息直到有receiver註冊並接收該訊息。
一個訊息只會被一個receiver消費。sender發送訊息的當下不論receiver是否在運行,之後都可以從queue接收訊息。
Publish/Subscribe(pub/sub) 出版/訂閱模式
訊息的producer又稱為publisher(發布者),訊息的consumer又稱為subscriber(訂閱者)。
publisher把訊息送到指定的topic(主題),subscriber再從topic接收訊息。
publisher把訊息送到topic,訂閱此topic的subscriber才會收到訊息。若沒有subscriber訂閱topic,則topic不保存未被接收的訊息。
一個訊息可被多個subscriber接收。subcriber只能收到訂閱後才從publisher發出的訊息,且subscriber要運行時才會收到訊息;不過JMS的durable subscription(持久訂閱)允許subscriber在非運行時接收publisher發出的訊息。
沒有留言:
張貼留言