org.yestech.notify.service.JmsQueueNotificationProducer.java Source code

Java tutorial

Introduction

Here is the source code for org.yestech.notify.service.JmsQueueNotificationProducer.java

Source

/*
 * Copyright LGPL3
 * YES Technology Association
 * http://yestech.org
 *
 * http://www.opensource.org/licenses/lgpl-3.0.html
 */

package org.yestech.notify.service;

import org.yestech.notify.objectmodel.INotificationJob;
import org.yestech.lib.xml.XmlUtils;

import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Queue;
import javax.jms.Session;

import org.springframework.jms.core.MessageCreator;
import org.springframework.jms.core.JmsTemplate;

/**
 * @author $Author: $
 * @version $Revision: $
 */
public class JmsQueueNotificationProducer implements INotificationProducer {

    private JmsTemplate jmsTemplate;
    private Queue queue;

    public JmsTemplate getJmsTemplate() {
        return jmsTemplate;
    }

    public void setJmsTemplate(JmsTemplate jmsTemplate) {
        this.jmsTemplate = jmsTemplate;
    }

    public Queue getQueue() {
        return queue;
    }

    public void setQueue(Queue queue) {
        this.queue = queue;
    }

    @Override
    public void send(final INotificationJob notificationJob) {
        jmsTemplate.send(queue, new MessageCreator() {
            public Message createMessage(Session session) throws JMSException {
                return session.createObjectMessage(notificationJob);
            }
        });

    }
}