/*
- * Copyright (C) 2016 quix0r
+ * Copyright (C) 2016 Roland Haeder
*
* This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.mxchange.jmailee.model.delivery;
import java.io.Serializable;
import java.text.MessageFormat;
-import java.util.Date;
-import javax.annotation.Resource;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
-import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
* <p>
* @author Roland Haeder<roland@mxchange.org>
*/
-@MessageDriven (activationConfig = {
- @ActivationConfigProperty (propertyName = "destinationLookup", propertyValue = "jms/jjobs-email-queue"),
- @ActivationConfigProperty (propertyName = "destinationType", propertyValue = "javax.jms.Queue")
-})
+@MessageDriven (
+ name = "jjobsEmail",
+ description = "A message bean for email delivery",
+ activationConfig = {
+ @ActivationConfigProperty (propertyName = "destinationLookup", propertyValue = "jms/jjobs-email-queue"),
+ @ActivationConfigProperty (propertyName = "destinationType", propertyValue = "javax.jms.Queue")
+ })
public class JobsEmailDeliveryMessageBean implements MessageListener {
- /**
- * Email session
- */
- @Resource (name = "jmail/jjobs")
- private Session jmailjjobs;
-
/**
* Logger bean
*/
this.loggerBeanLocal = (LoggerBeanLocal) context.lookup("java:global/jcore-logger-ejb/logger!org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal"); //NOI18N
} catch (final NamingException ex) {
// Continue to throw
- throw new RuntimeException("context.lookup() failed.", ex); //NOI18N
+ throw new RuntimeException(MessageFormat.format("context.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N
}
}
this.loggerBeanLocal.logTrace("onMessage: EXIT!"); //NOI18N
}
- /**
- * Sends an email to given email address with subject line.
- * <p>
- * @param emailAddress Email address for recipient
- * @param subjectLine Subject line
- * @param body Body part
- * <p>
- * @throws NamingException If the resource cannot be found
- * @throws MessagingException If something happened on message delivery
- */
- private void sendMail (final String emailAddress, final String subjectLine, final String body) throws NamingException, MessagingException {
- // Get MIME message instance
- MimeMessage message = new MimeMessage(this.jmailjjobs);
-
- // Set subject, recipients and body
- message.setSubject(subjectLine);
- message.setRecipients(javax.mail.Message.RecipientType.TO, InternetAddress.parse(emailAddress, true));
- message.setSentDate(new Date());
- message.setText(body);
-
- // Directly send email
- Transport.send(message);
- }
-
}