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

📄 basicmessagereceiver.java

📁 21天学通java的示例程序源代码
💻 JAVA
字号:
import javax.naming.*;
import javax.jms.*;

public class BasicMessageReceiver
{
    
    protected QueueConnection _connection =null;
    protected QueueSession _session = null;
    protected QueueReceiver _receiver = null;
    protected String _jndiQueueName = null;
    protected String _jndiQueueFactoryName = null;

    public BasicMessageReceiver (String jndiQueueFactoryName, String jndiQueueName) throws NamingException, JMSException
    {
        super();
        _jndiQueueName = jndiQueueName;
        _jndiQueueFactoryName = jndiQueueFactoryName;
        initialize ();
    }
    protected void initialize () throws NamingException, JMSException
    {
        Context ctx = new InitialContext ();
        QueueConnectionFactory queueConnectionFactory =
        (QueueConnectionFactory) ctx.lookup (_jndiQueueFactoryName);
        Queue outQueue = (Queue) ctx.lookup (_jndiQueueName);
        _connection = queueConnectionFactory.createQueueConnection ();
        _session = _connection.createQueueSession (true, Session.AUTO_ACKNOWLEDGE);
        _receiver = _session.createReceiver (outQueue);
    }
    public String receiveMessage (long millisecondTimeout) throws JMSException
    {
        String result = null;
        if(_receiver != null)
        {
            _connection.start ();
            if(millisecondTimeout < 0)
            {
                millisecondTimeout = 0;
            }
            Message message = (Message)_receiver.receive (millisecondTimeout);
            if(message != null && message instanceof TextMessage)
            {
                result = ((TextMessage)message).getText ();
               _session.commit();
            }
            else
            {
               _session.rollback ();
            }
        }
        return result;
    }
    public void finalize ()
    {
        try
        {
            cleanup ();
        }
        catch(JMSException jmsEx)
        {
            // ignore this error
        }
        
    }
    public void cleanup () throws JMSException
    {
        if(_connection != null)
        {
            _connection.close ();
        }
    }
}

⌨️ 快捷键说明

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