Jakarta Messaging API: Introduction to the technical principles in the Java class library
Jakarta Messaging API (formerly referred to as Java Message Service, referred to as JMS) is a standard API used to make asynchronous communication between Java applications.It provides a reliable, flexible and scalable way to send and receive messages.This article will introduce the technical principles of Jakarta Messaging API in the Java class library and provide the corresponding Java code example.
1. Message model
Jakarta Messaging API is based on message model, which includes the concept of producers send messages, consumer receiving messages, and MESSAGE BROKER.The producer sends the message to the specified target, while consumers receive the message from the target.The middleware is responsible for receiving the message sent by the producer and passed it to consumers.
2. Producers and consumers
In the Jakarta Messaging API, producers and consumers create connections by connecting the factory (Connection Factory) and connect to the creation.The session is used to create producers or consumers and interact with the goal.
Example code:
// Create a connection factory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Create a connection
Connection connection = connectionFactory.createConnection();
// Create the meeting
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create goals
Destination destination = session.createQueue("myQueue");
// Create a producer
MessageProducer producer = session.createProducer(destination);
// Create messages
TextMessage message = session.createTextMessage("Hello, World!");
// Send a message
producer.send(message);
// Turn off the connection
connection.close();
3. Middleware
Jakarta Messaging API does not directly provide the implementation of the middleware, but instead interacts with different message middleware by providing corresponding interfaces.Developers can choose the appropriate message intermediate parts, such as ActiveMQ, Rabbitmq, etc., and use the driver provided by the corresponding message middleware to integrate.
Example code (using ActiveMQ as a message middleware):
// Create ActiveMQ connection factory
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Create a connection
Connection connection = connectionFactory.createConnection();
// Create the meeting
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create goals
Destination destination = session.createQueue("myQueue");
// Create consumers
MessageConsumer consumer = session.createConsumer(destination);
// Receive messages
Message message = consumer.receive();
// Treat the message
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message: " + textMessage.getText());
}
// Turn off the connection
connection.close();
Summarize:
Through the Jakarta Messaging API, developers can realize reliable messages in Java applications.This article introduces the technical principles of Jakarta Messaging API in the Java class library and provides related Java code examples.Developers can choose the appropriate message intermediate parts according to actual needs, and use the Jakarta Messaging API for integration development.