⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptplistener.java

📁 21天学通J2EE的例子4
💻 JAVA
字号:
import javax.naming.*;
import javax.jms.*;

public class PTPListener implements MessageListener {

    private Connection connection;
    private Session session;
    private MessageConsumer consumer;

    public static void main(String[] args) {
        System.out.println ("Listener running");
        try {
            PTPListener receiver = new PTPListener();
          }
        catch(Exception ex) {
             System.err.println("Exception in PTPListener: " + ex);
        }
    }

    public PTPListener() throws JMSException, NamingException {
        try {
            Context context = new InitialContext();
            ConnectionFactory connectionFactory = (ConnectionFactory)context.lookup("jms/QueueConnectionFactory");
            Destination destination = (Destination)context.lookup("jms/firstQueue");
            connection = connectionFactory.createConnection();
            session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
            consumer = session.createConsumer(destination);
            consumer.setMessageListener(this);
            connection.start();
        }
        catch (JMSException ex) {
            try {connection.close();} catch(Exception e){}
            throw ex;
        }
    }

    public void onMessage(Message message) {
        try {
            String text;
            if (message instanceof TextMessage) {
                text = ((TextMessage) message).getText();
            }
            else {
                text = message.toString();
            }
            System.out.println("Received: " + text);
            message.acknowledge();
            if (text.equals("Quit")) {
                System.out.println("PTPReceiver closing down");
                new Thread(new Runnable () {
                    public void run() {
                        try {
                            PTPListener.this.close();
                        }
                        catch(JMSException ex) {
                            System.err.println("Exception in Closer: " + ex);
                        }
                    }
                }).start();
            }
        }
        catch(JMSException ex) {
            System.err.println("Exception in OnMessage: " + ex);
        }
    }

    public void close() throws JMSException {
        connection.close();
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -