List of usage examples for javax.jms Connection close
void close() throws JMSException;
From source file:org.apache.synapse.message.store.impl.jms.JmsStore.java
/** * Cleans up the JMS Connection and Session associated with a JMS client. * * @param connection JMS Connection//ww w .ja va2s. c om * @param session JMS Session associated with the given connection * @param error is this method called upon an error * @return {@code true} if the cleanup is successful. {@code false} otherwise. */ public boolean cleanup(Connection connection, Session session, boolean error) { if (connection == null && error) { return true; } try { if (session != null) { session.close(); } } catch (JMSException e) { return false; } try { if (connection != null && error) { connection.close(); } } catch (JMSException e) { return false; } return true; }
From source file:com.fusesource.forge.jmstest.tests.simple.SimpleConsumer.java
protected void run() { Connection con = null; Session session = null;//from w w w. j a v a2 s.c om final CountDownLatch latch = new CountDownLatch(Integer.MAX_VALUE); try { con = getConnection(); session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination dest = getDestinationProvider().getDestination(session, "queue:TEST"); MessageConsumer consumer = session.createConsumer(dest); consumer.setMessageListener(new MessageListener() { public void onMessage(Message msg) { String grp = null; long nr = 0L; try { grp = msg.getStringProperty("JMSXGroupID"); nr = msg.getLongProperty("MsgNr"); } catch (JMSException jme) { } log().info("Received Message Group=(" + grp + ") MsgNr=" + nr); latch.countDown(); } }); con.start(); latch.await(); con.close(); } catch (Exception e) { } finally { if (con != null) { try { con.close(); } catch (Exception e) { } } } }
From source file:org.apache.activemq.network.MQTTNetworkOfBrokersFailoverTest.java
private CountDownLatch listenForConsumersOn(BrokerService broker) throws Exception { final CountDownLatch latch = new CountDownLatch(1); URI brokerUri = broker.getVmConnectorURI(); final ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory(brokerUri.toASCIIString()); final Connection connection = cf.createConnection(); connection.start();// ww w . j a va2s . c o m final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination dest = session .createTopic("ActiveMQ.Advisory.Consumer.Queue.Consumer.foo:AT_LEAST_ONCE.VirtualTopic.foo.bar"); MessageConsumer consumer = session.createConsumer(dest); consumer.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { latch.countDown(); // shutdown this connection Dispatch.getGlobalQueue().execute(new Runnable() { @Override public void run() { try { session.close(); connection.close(); } catch (JMSException e) { e.printStackTrace(); } } }); } }); return latch; }
From source file:eu.domibus.submission.jms.BackendJMSImpl.java
/** * This method is called when a message was received at the incoming queue * * @param message The incoming JMS Message *///ww w .ja v a 2s. c om @Override public void onMessage(final Message message) { final MapMessage map = (MapMessage) message; try { final Connection con = this.cf.createConnection(); final Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); final MapMessage res = session.createMapMessage(); try { final String messageID = this.submit(map); res.setStringProperty("messageId", messageID); } catch (final TransformationException | ValidationException e) { BackendJMSImpl.LOG.error("Exception occurred: ", e); res.setString("ErrorMessage", e.getMessage()); } res.setJMSCorrelationID(map.getJMSCorrelationID()); final MessageProducer sender = session.createProducer(this.outQueue); sender.setDeliveryMode(DeliveryMode.NON_PERSISTENT); sender.send(res); sender.close(); session.close(); con.close(); } catch (final JMSException ex) { BackendJMSImpl.LOG.error("Error while sending response to queue", ex); } }
From source file:org.apache.activemq.bugs.AMQ6133PersistJMSRedeliveryTest.java
private void sendMessages() throws Exception { Connection connection = createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination queue = session.createQueue(QUEUE_NAME); Destination retainQueue = session.createQueue(QUEUE_NAME + "-retain"); MessageProducer producer = session.createProducer(null); final byte[] payload = new byte[1000]; producer.setDeliveryMode(DeliveryMode.PERSISTENT); BytesMessage message = session.createBytesMessage(); message.writeBytes(payload);//from w w w.ja v a 2 s . c o m // Build up a set of messages that will be redelivered and updated later. while (getLogFileCount() < 3) { producer.send(queue, message); } // Now create some space for files that are retained during the test. while (getLogFileCount() < 6) { producer.send(retainQueue, message); } connection.close(); }
From source file:org.sofun.core.messaging.SofunMessagingServiceImpl.java
@Override public void sendMessage(Serializable message, String destination) { Connection connection = null; Session session = null;/*from w ww. j ava 2s .c o m*/ MessageProducer sender = null; Queue q = getQueueFor(destination); if (q == null) { log.error("Cannot find associated queue for destination=" + destination); } try { connection = connFactory.createConnection(SofunMessagingCredentials.USERNAME, SofunMessagingCredentials.PASSWORD); session = connection.createSession(true, 0); sender = session.createProducer(q); ObjectMessage msg = session.createObjectMessage(message); sender.send(msg); } catch (Exception e) { log.error(e.getMessage()); } finally { try { if (sender != null) { sender.close(); } if (session != null) { session.close(); } if (connection != null) { connection.close(); } } catch (JMSException e) { log.error(e.getMessage()); } } }
From source file:eu.domibus.submission.jms.BackendJMSImpl.java
private Boolean submitErrorMessage(String messageId) { Connection connection; MessageProducer producer;/*ww w . jav a 2 s . c o m*/ List<ErrorLogEntry> errors = this.errorLogDao.getUnnotifiedErrorsForMessage(messageId); try { connection = this.cf.createConnection(); final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); producer = session.createProducer(this.receivingQueue); producer.setDeliveryMode(DeliveryMode.PERSISTENT); final MapMessage resMessage = session.createMapMessage(); for (int i = 0; i < errors.size(); ++i) { resMessage.setString(String.valueOf(i), errors.get(i).toString()); errors.get(i).setNotified(new Date()); this.errorLogDao.update(errors.get(i)); } producer.send(resMessage); producer.close(); session.close(); connection.close(); } catch (JMSException e) { BackendJMSImpl.LOG.error("", e); return false; } return true; }
From source file:de.klemp.middleware.controller.Controller.java
public static void sendMessageFast(String message, String topic) { String url = ActiveMQConnection.DEFAULT_BROKER_URL; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); // Create a Connection Connection connection; try {// ww w. ja v a2 s . com connectionFactory.setOptimizeAcknowledge(true); connectionFactory.setUseAsyncSend(true); connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // Create the destination (Topic or Queue) Destination destination = session.createTopic(topic); // Create a MessageProducer from the Session to the Topic or Queue MessageProducer producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); // Create a messages TextMessage message1 = session.createTextMessage(message); // Tell the producer to send the message producer.send(message1); session.close(); connection.close(); } catch (JMSException e) { logger.error("Message could not be sended to activemq", e); } }
From source file:org.jbpm.ejb.CommandListenerBean.java
private void sendResult(Serializable result, Destination destination, String correlationId) throws JMSException { if (log.isDebugEnabled()) log.debug("sending " + result + " to " + destination); Connection jmsConnection = jmsConnectionFactory.createConnection(); try {/* w ww .ja v a 2s .c o m*/ /* * if the connection supports xa, the session will be transacted, else the session will * auto acknowledge; in either case no explicit transaction control must be performed - * see ejb 2.1 - 17.3.5 */ Session jmsSession = jmsConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); Message resultMessage = jmsSession.createObjectMessage(result); resultMessage.setJMSCorrelationID(correlationId); MessageProducer producer = jmsSession.createProducer(destination); producer.send(resultMessage); } finally { // there is no need to close the sessions and producers of a closed connection // http://download.oracle.com/javaee/1.4/api/javax/jms/Connection.html#close() try { jmsConnection.close(); } catch (JMSException e) { log.warn("failed to close jms connection", e); } } }
From source file:org.apache.activemq.store.jdbc.JmsTransactionCommitFailureTest.java
private Message receiveMessage(String queueName, long receiveTimeout) throws JMSException { Message message = null;/*from w w w . j a v a2 s .c o m*/ Connection con = connectionFactory.createConnection(); try { con.start(); try { Session session = con.createSession(true, Session.SESSION_TRANSACTED); try { Queue destination = session.createQueue(queueName); MessageConsumer consumer = session.createConsumer(destination); try { message = consumer.receive(receiveTimeout); session.commit(); } finally { consumer.close(); } } finally { session.close(); } } finally { con.stop(); } } finally { con.close(); } return message; }