messagesender.java

来自「21天精通Java,这是一本英文书」· Java 代码 · 共 46 行

JAVA
46
字号
package agency;

import javax.naming.*;
import javax.jms.*;

public class MessageSender {

    private QueueConnection queueConnection;
    private QueueSession queueSession;
    private QueueSender queueSender;
    private Queue queue;

    public MessageSender(String jndiFactory, String jndiQueue) throws JMSException, NamingException {
        Context context = new InitialContext();
        QueueConnectionFactory queueFactory = (QueueConnectionFactory)context.lookup(jndiFactory);
        queueConnection = queueFactory.createQueueConnection();
        queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
        queue = (Queue)context.lookup(jndiQueue);
        queueSender = queueSession.createSender(queue);
    }

    public void sendApplicant(String applicant, boolean newApplicant) throws JMSException {
        TextMessage message = queueSession.createTextMessage();
        message.setBooleanProperty ("NewApplicant", newApplicant);
        message.setText(applicant);
        queueSender.send(message);
    }

    public void sendJob(String ref, String customer, boolean newJob) throws JMSException {
        TextMessage message = queueSession.createTextMessage();
        message.setBooleanProperty ("NewJob", newJob);
        message.setText(ref+"+"+customer);
        queueSender.send(message);
    }

    public void close() throws JMSException {
         //Send a non-text control message indicating end of messages
        queueSender.send(queueSession.createMessage());

        queueSender.close();
        queueSession.close();
        queueConnection.close();
    }
}

⌨️ 快捷键说明

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