/*
- * Copyright (C) 2015 Roland Haeder
+ * 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
package org.mxchange.jcoreee.database;
import java.io.Serializable;
+import java.text.MessageFormat;
+import javax.jms.JMSException;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
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
}
}
protected LoggerBeanLocal getLoggerBeanLocal () {
return this.loggerBeanLocal;
}
+
+ /**
+ * Sends given message to configured queue
+ * <p>
+ * @param message Message to send
+ * @param messageProducer Message producer
+ * <p>
+ * @throws JMSException if something went wrong
+ */
+ protected void sendMessage (final ObjectMessage message, final MessageProducer messageProducer) throws JMSException {
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.sendMessage: message={1},messageProducer={2} - CALLED!", this.getClass().getSimpleName(), message, messageProducer)); //NOI18N
+
+ // The parameter should be valid
+ if (null == message) {
+ // Throw NPE
+ throw new NullPointerException("message is null"); //NOI18N
+ } else if (null == messageProducer) {
+ // Throw NPE again
+ throw new NullPointerException("messageProvider is null"); //NOI18N
+ }
+
+ // Send it
+ messageProducer.send(message);
+
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.sendMessage: EXIT!", this.getClass().getSimpleName())); //NOI18N
+ }
+
}