Java Message Service (JMS) API是一个 Java 面向消息中间件的 API,用于两个或者多个客户端之间发送消息。
JMS 的目标包括:
JMS 支持企业消息产品提供两种主要的消息风格:
由于历史的原因,JMS 提供四组用于发送和接收消息的接口。
以上每组 API 提供一组不同的接口集合,用于连接到 JMS 提供者、发送和接收消息。因此,它们共享一组代表消息、消息目的地和其他各方面功能特性的通用接口。
下面是使用标准 API 来发送信息的例子:
@Resource(lookup = "jms/connectionFactory ")
ConnectionFactory connectionFactory;
@Resource(lookup="jms/inboundQueue")
Queue inboundQueue;
public void sendMessageOld (String payload) throws JMSException{
try (Connection connection = connectionFactory.createConnection()) {
Session session = connection.createSession();
MessageProducer messageProducer =
session.createProducer(inboundQueue);
TextMessage textMessage =
session.createTextMessage(payload);
messageProducer.send(textMessage);
}
}
下面是使用简化 API 来发送信息的例子:
@Resource(lookup = "jms/connectionFactory")
ConnectionFactory connectionFactory;
@Resource(lookup="jms/inboundQueue")
Queue inboundQueue;
public void sendMessageNew (String payload) {
try (MessagingContext context = connectionFactory.createMessagingContext();){
context.send(inboundQueue,payload);
}
}
所有的接口都在 javax.jms 包下。
如果读者想了解更多有关 JMS 的规范,可以在线查阅 https://java.net/projects/jms-spec/pages/Home 。