// 导入必要的包 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的消息确认模式,表示自动确认消息

WebLogic JMS 客户端示例代码详解 - Java 消息服务

原文地址: http://www.cveoy.top/t/topic/kzuO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录