Java Message Service (JMS) Java API ( ) Message-Oriented Middleware (). javax.jms J2EE.
Messaging System , MOM ( ). , MOM, MOM .
MOM .
"" :
point-to-point
publish-subscribe (pub-sub)
Point-to-point , ( senders) - (receiver).
Publish-subscribe (Pub-sub) , (publishers) - (subscribers). message topic.
ConnectionFactory , JMS Connection. JNDI, JMS ConnectionFactory JNDI lookup-.
Connection JMS MOM.
Session , JMS Connection .
Destination queue, topic . ConnectionFactory, destination JNDI.
MessageProducer , , , .
MessageConsumer , . Message . .
:
JMS JNDI , JNDI;
ConnectionFactory, ; ( );
Connection ( );
Session;
Destination, ;
;
MessageProducer
Connection
:
queue, receive() javax.jms.QueueReceiver.
javax.jms.MessageListener.
45. Point - to Point ( ).
Point-to-point , ( senders) - (receiver).
message queue (). Senders queue, Receiver queue.
, point-to-point receiver. . receivers, . MOM . . MOM receiver, , round-robin ( . , .)
|
|
- , , . , :p2p , . , .
:
JNDI,
ConnectionFactory JNDI
Connection ( )
4. Session
Destination JNDI queue.
5.1. Queue JNDI
5.2. ( JNDI) Destination
textMessag
MessageProducer ( oint-to-oint QueueSender)
9. .
:
queue, receive() javax.jms.QueueReceiver.
javax.jms.MessageListener.
46. PUB-SUB( ).
Publish-subscribe (Pub-sub) , - (publishers) . - - (subscribers). message topic(). Topic . . , - - . Publishers topic, subscribers topic .
. . : -, - - , . JMS , , (subscribed) . JMS , , - .
- - , MOM- -. . Pub-sub , , pub-sub - , ( point-to-point, queue first-in/first-out). pub-sub , ( ). JMS ( ), .
:
JNDI,
|
|
ConnectionFactory
TopicConnection
TopicSession
topic JNDI ( , )
textMessage
MessageProducer, ( TopicPublisher)
.
Pub-Sub subscriber :
, receive() TopicSubscriber
, MessageListener.
, ( ) Topic, consumer ( ): TopicSubscriber subscriber = session.createSubscriber(topic);
connection, : TextMessage textMessage = (TextMessage)subscriber.receive();
onMessage MessageListener, Listener setMessageListener TopicSubscriber.