it needs to be moved to BaseDatabaseBean (which is the super class for EJBs).
Same with sendMessage() method. No web application shall send out mails
directly. Only an EJB (message-driven, of course) should do that.
Signed-off-by: Roland Häder <roland@mxchange.org>
import java.io.Serializable;
import java.security.Principal;
-import java.text.MessageFormat;
import javax.faces.FacesException;
import javax.faces.context.FacesContext;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnectionFactory;
import javax.jms.Session;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.mxchange.jcoreeelogger.beans.local.logger.Log;
-import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal;
/**
* A generic bean class
*/
private Connection connection;
- /**
- * Logger instance
- */
- @Log
- private LoggerBeanLocal loggerBeanLocal;
-
/**
* Message producer
*/
* need to send emails.
*/
protected BaseBean () {
- try {
- // Get initial context
- Context context = new InitialContext();
-
- // Lookup logger
- 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(MessageFormat.format("context.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N
- }
}
/**
return principalName;
}
-
- /**
- * Getter for loggerBeanLocal
- * <p>
- * @return Logger instance
- */
- protected LoggerBeanLocal getLoggerBeanLocal () {
- return this.loggerBeanLocal;
- }
-
/**
* Getter for configured message producer instance
* <p>
return this.session;
}
-
- /**
- * Sends given message to configured queue
- * <p>
- * @param message Message to send
- * <p>
- * @throws JMSException if something went wrong
- */
- protected void sendMessage (final ObjectMessage message) throws JMSException {
- // Trace message
- this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.sendMessage: message={1} - CALLED!", this.getClass().getSimpleName(), message)); //NOI18N
-
- // The parameter should be valid
- if (null == message) {
- // Throw NPE
- throw new NullPointerException("message is null"); //NOI18N
- } else if (this.getMessageProducer() == null) {
- // Throw NPE again
- throw new NullPointerException("this.messageProvider is null"); //NOI18N
- }
-
- // Send it
- this.getMessageProducer().send(message);
-
- // Trace message
- this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.sendMessage: EXIT!", this.getClass().getSimpleName())); //NOI18N
- }
-
-
}
*/
private static final long serialVersionUID = 18_605_498_672_261L;
+ /**
+ * Protected constructor
+ */
+ protected BaseFacesBean () {
+ // Call super constructor
+ super();
+ }
+
/**
* Returns given property key or throws an exception if not found.
* <p>
*/
package org.mxchange.jcoreee.database;
+import java.text.MessageFormat;
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.mxchange.jcoreee.bean.BaseBean;
+import org.mxchange.jcoreeelogger.beans.local.logger.Log;
+import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal;
/**
* A helper class for beans that access the database.
@PersistenceContext
private EntityManager entityManager;
+ /**
+ * Logger instance
+ */
+ @Log
+ private LoggerBeanLocal loggerBeanLocal;
+
/**
* This class' default protected constructor. Please call
* super("jms/project-queue-factory", "jms/project-email-queue"); if you
protected BaseDatabaseBean () {
// Call super constructor
super();
+
+ try {
+ // Get initial context
+ Context context = new InitialContext();
+
+ // Lookup logger
+ 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(MessageFormat.format("context.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N
+ }
}
/**
return this.entityManager;
}
+ /**
+ * Getter for loggerBeanLocal
+ * <p>
+ * @return Logger instance
+ */
+ protected LoggerBeanLocal getLoggerBeanLocal () {
+ return this.loggerBeanLocal;
+ }
+
+ /**
+ * Sends given message to configured queue
+ * <p>
+ * @param message Message to send
+ * <p>
+ * @throws JMSException if something went wrong
+ */
+ protected void sendMessage (final ObjectMessage message) throws JMSException {
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.sendMessage: message={1} - CALLED!", this.getClass().getSimpleName(), message)); //NOI18N
+
+ // The parameter should be valid
+ if (null == message) {
+ // Throw NPE
+ throw new NullPointerException("message is null"); //NOI18N
+ } else if (this.getMessageProducer() == null) {
+ // Throw NPE again
+ throw new NullPointerException("this.messageProvider is null"); //NOI18N
+ }
+
+ // Send it
+ this.getMessageProducer().send(message);
+
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.sendMessage: EXIT!", this.getClass().getSimpleName())); //NOI18N
+ }
+
}