basicmessagesender.java

来自「21天学通java的示例程序源代码」· Java 代码 · 共 61 行

JAVA
61
字号
import javax.naming.*;
import javax.jms.*;

public class BasicMessageSender
{
    protected QueueConnection _connection =null;
    protected QueueSession _session = null;
    protected QueueSender _sender = null;
    protected String _jndiQueueName = null;
    protected String _jndiQueueFactoryName = null;
    /** Creates new MessageSender */
    public BasicMessageSender (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 (false, Session.AUTO_ACKNOWLEDGE);
        _sender = _session.createSender (outQueue);
    }
    public void sendMessage (String theMessageBody) throws JMSException
    {
        if(_sender != null)
        {
            _connection.start();
            TextMessage message = _session.createTextMessage ();
            message.setText (theMessageBody);
            //BytesMessage message = _session.createBytesMessage ();
            //message.writeUTF (theMessageBody);
            _sender.send (message);
        }
    }
    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 + =
减小字号Ctrl + -
显示快捷键?