EmailSenderServiceBean.java

// license-header java merge-point
//
// Generated by SessionBeanImpl.vsl in andromda-ejb3-cartridge on 08/06/2014 10:56:22.
// Modify as necessary. If deleted it will be regenerated.
//
package org.andromda.demo.ejb3.email;

import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.TextMessage;

/**
 * @see EmailSenderServiceBase
 *
 * Remember to manually configure the local business interface this bean implements if originally you only
 * defined the remote business interface.  However, this change is automatically reflected in the ejb-jar.xml.
 *
 * Do not specify the javax.ejb.Stateless annotation
 * Instead, the session bean is defined in the ejb-jar.xml descriptor.
 */
// Uncomment to enable webservices for EmailSenderServiceBean
// @javax.jws.WebService(endpointInterface = "org.andromda.demo.ejb3.email.EmailSenderServiceWSInterface", serviceName = "EmailSenderService")
public class EmailSenderServiceBean
    extends EmailSenderServiceBase
    implements EmailSenderServiceRemote
{
    // --------------- Constructors ---------------

    /**
     * Default constructor extending base class default constructor
     */
    public EmailSenderServiceBean()
    {
        super();
    }

    // -------- Business Methods Impl --------------

    /**
     * @see EmailSenderServiceBase#sendEmail(String, String, String, String)
     */
    @Override
    protected void handleSendEmail(String to, String from, String subject, String message)
        throws Exception
    {
        QueueConnection connection = null;
        QueueSession session = null;
        QueueSender sender = null;

        try
        {
            connection = queueFactory.createQueueConnection();
            session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
            sender = session.createSender((Queue)emailSender);

            TextMessage txtMessage = session.createTextMessage(message);
            sender.send(txtMessage);
        }
        catch (JMSException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally
        {
            if (sender != null) {
                try
                {
                    sender.close();
                }
                catch (JMSException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

            if (session != null) {
                try
                {
                    session.close();
                }
                catch (JMSException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

            if (connection != null) {
                try
                {
                    connection.close();
                }
                catch (JMSException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

    // -------- Lifecycle Callback Implementation --------------
}