/*
 * Copyright 2013 Oracle and/or its affiliates.
 * All rights reserved.  You may not modify, use,
 * reproduce, or distribute this software except in
 * compliance with  the terms of the License at:
 * http://developers.sun.com/license/berkeley_license.html
 */


import javax.jms.MessageListener;
import javax.jms.Message;
import javax.jms.TextMessage;
import javax.jms.JMSException;


/**
 * Klasa TextListener implementuje interfejs MessageListener,
 * definiując metodę onMessage method, która wyświetla
 * zawartość TextMessage.
 *
 * Klasa jest wykorzystywana przez klasę SimpleAsynchConsumer.
 */
public class TextListener implements MessageListener {
    /**
     * Rzutuje komunikat na TextMessage i wyświetla jego zawartość.
     *
     * @param message     przychodzący komunikat
     */
    public void onMessage(Message message) {
        TextMessage msg = null;

        try {
            if (message instanceof TextMessage) {
                msg = (TextMessage) message;
                System.out.println("Otrzymano komunikat: " + msg.getText());
            } else {
                System.err.println("Komunikat nie jest typu TextMessage");
            }
        } catch (JMSException e) {
            System.err.println("Wyjątek JMSException w onMessage(): " + e.toString());
        } catch (Throwable t) {
            System.err.println("Wyjątek w onMessage():" + t.getMessage());
        }
    }
}
