List of usage examples for javax.jms QueueSender send
void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException;
From source file:org.wso2.carbon.andes.core.QueueManagerServiceImpl.java
/** * Publish message to given JMS queue/*from w ww . j av a 2 s . co m*/ * * @param nameOfQueue queue name * @param userName username * @param accessKey access key * @param jmsType jms type * @param jmsCorrelationID message correlation id * @param numberOfMessages number of messages to publish * @param message message body * @param deliveryMode delivery mode * @param priority message priority * @param expireTime message expire time * @throws QueueManagerException */ private void send(String nameOfQueue, String userName, String accessKey, String jmsType, String jmsCorrelationID, int numberOfMessages, String message, int deliveryMode, int priority, long expireTime) throws QueueManagerException { QueueConnectionFactory connFactory; QueueConnection queueConnection = null; QueueSession queueSession = null; QueueSender queueSender = null; try { Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, ANDES_ICF); properties.put(CF_NAME_PREFIX + CF_NAME, Utils.getTCPConnectionURL(userName, accessKey)); properties.put(QUEUE_NAME_PREFIX + nameOfQueue, nameOfQueue); properties.put(CarbonConstants.REQUEST_BASE_CONTEXT, "true"); InitialContext ctx = new InitialContext(properties); connFactory = (QueueConnectionFactory) ctx.lookup(CF_NAME); queueConnection = connFactory.createQueueConnection(); Queue queue = (Queue) ctx.lookup(nameOfQueue); queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); queueSender = queueSession.createSender(queue); queueConnection.start(); TextMessage textMessage = queueSession.createTextMessage(); if (queueSender != null && textMessage != null) { if (jmsType != null) { textMessage.setJMSType(jmsType); } if (jmsCorrelationID != null) { textMessage.setJMSCorrelationID(jmsCorrelationID); } if (message != null) { textMessage.setText(message); } else { textMessage.setText("Type message here.."); } for (int i = 0; i < numberOfMessages; i++) { queueSender.send(textMessage, deliveryMode, priority, expireTime); } } } catch (FileNotFoundException | NamingException | UnknownHostException | XMLStreamException | JMSException e) { throw new QueueManagerException("Unable to send message.", e); } finally { try { if (queueConnection != null) { queueConnection.close(); } } catch (JMSException e) { log.error("Unable to close queue connection", e); } try { if (queueSession != null) { queueSession.close(); } } catch (JMSException e) { log.error("Unable to close queue session", e); } try { if (queueSender != null) { queueSender.close(); } } catch (JMSException e) { log.error("Unable to close queue sender", e); } } }