WebLogic JMS 客户端示例代码详解 - Java 消息服务
// 导入必要的包 import javax.jms.; import javax.naming.;
public class JMSClient {
public static void main(String[] args) throws NamingException, JMSException {
// 设置JNDI上下文
Context ctx = new InitialContext();
// 从JNDI上下文中查找连接工厂
ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup('jms/ConnectionFactory');
// 从JNDI上下文中查找目的地
Destination destination = (Destination) ctx.lookup('jms/Queue');
// 创建连接
Connection connection = connectionFactory.createConnection();
// 启动连接
connection.start();
// 创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 创建消息消费者
MessageConsumer consumer = session.createConsumer(destination);
// 接收消息
while (true) {
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println('Received message: ' + textMessage.getText());
} else {
System.out.println('Received message of unsupported type: ' + message.getClass().getName());
}
}
// 关闭连接
connection.close();
}
}
// 注释: // 1. Context是JNDI上下文,用于查找连接工厂和目的地 // 2. ConnectionFactory是连接工厂,用于创建连接 // 3. Destination是目的地,用于指定消息发送的队列或主题 // 4. Connection是JMS连接,用于连接JMS提供者 // 5. Session是JMS会话,用于创建消息生产者、消息消费者和消息 // 6. MessageConsumer是消息消费者,用于接收消息 // 7. Message是JMS消息,用于发送和接收消息 // 8. TextMessage是文本消息,用于发送和接收文本消息 // 9. receive()方法是阻塞方法,用于接收消息,如果没有消息则一直阻塞 // 10. AUTO_ACKNOWLEDGE是Session的消息确认模式,表示自动确认消息
原文地址: http://www.cveoy.top/t/topic/kzuO 著作权归作者所有。请勿转载和采集!