Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package th.co.tac.svcbiz.util;
- import java.io.Serializable;
- import java.util.Hashtable;
- import java.util.Properties;
- import javax.jms.ObjectMessage;
- import javax.jms.Queue;
- import javax.jms.QueueConnection;
- import javax.jms.QueueConnectionFactory;
- import javax.jms.QueueSender;
- import javax.jms.QueueSession;
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import org.apache.log4j.Logger;
- import th.co.tac.ws.ussd.log.vo.USSDLogVO;
- /**
- * <p>Cluster</p>
- * @version 1.3
- * @author Phongsathorn Anguyarn <phongsathorn@xp-link.com>
- * @since December, 2014
- *
- */
- public class JMSUtil implements Serializable {
- private static final long serialVersionUID = 6593240270204882766L;
- public static void sendMessageToMDB(String systemName, String qConn, String qName, Properties message, USSDLogVO ussdLog, int priority, Logger callerLog) throws Exception {
- callerLog.info("Sending JMS message to Queue=" + qName);
- Hashtable<String, Object> params = new Hashtable<String, Object>();
- params.put("reqMsg", message);
- params.put("logVo", ussdLog);
- QueueConnection conn = null;
- QueueSession session = null;
- QueueSender sender = null;
- long start = System.currentTimeMillis();
- try {
- Context ctx = new InitialContext();
- QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup(qConn);
- Queue queue = (Queue) ctx.lookup(qName);
- conn = factory.createQueueConnection();
- session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- sender = session.createSender(queue);
- ObjectMessage jmsMessage = session.createObjectMessage();
- jmsMessage.setObject(params);
- jmsMessage.setJMSPriority(priority);
- callerLog.info("Priority=" + priority + ", SEND_MSG=" + jmsMessage);
- sender.send(jmsMessage);
- } catch (Exception e) {
- callerLog.error("Error while sending request to JMS Queue.");
- throw e;
- } finally {
- if (sender != null) {
- try {
- sender.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- if (session != null) {
- try {
- session.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- if (conn != null) {
- try {
- conn.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- long end = System.currentTimeMillis() - start;
- callerLog.info("SERVICE_NAME:" + systemName + "|SUCCESS workingTime = " + end);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement