List of usage examples for javax.jms Connection start
void start() throws JMSException;
From source file:ConsumerTool.java
public void run() { try {/* w w w . j a v a 2 s . co m*/ running = true; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); Connection connection = connectionFactory.createConnection(); if (durable && clientId != null && clientId.length() > 0 && !"null".equals(clientId)) { connection.setClientID(clientId); } connection.setExceptionListener(this); connection.start(); session = connection.createSession(transacted, ackMode); if (topic) { destination = session.createTopic(subject); } else { destination = session.createQueue(subject); } replyProducer = session.createProducer(null); replyProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); MessageConsumer consumer = null; if (durable && topic) { consumer = session.createDurableSubscriber((Topic) destination, consumerName); } else { consumer = session.createConsumer(destination); } if (maxiumMessages > 0) { consumeMessagesAndClose(connection, session, consumer); } else { if (receiveTimeOut == 0) { consumer.setMessageListener(this); } else { consumeMessagesAndClose(connection, session, consumer, receiveTimeOut); } } } catch (Exception e) { System.out.println("[" + this.getName() + "] Caught: " + e); e.printStackTrace(); } }
From source file:org.apache.activemq.store.kahadb.SubscriptionRecoveryTest.java
private void tryConsumeExpectNone(Topic topic) throws Exception { Connection connection = cf.createConnection(); connection.setClientID("Inactive"); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageConsumer consumer = session.createDurableSubscriber(topic, "Inactive"); connection.start(); if (consumer.receive(TimeUnit.SECONDS.toMillis(10)) != null) { fail("Should be no messages for this durable."); }//from ww w.ja v a2 s . c om consumer.close(); connection.close(); }
From source file:org.apache.activemq.store.kahadb.SubscriptionRecoveryTest.java
private void consumeDurableMessages(Topic topic, int count) throws Exception { Connection connection = cf.createConnection(); connection.setClientID("Inactive"); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageConsumer consumer = session.createDurableSubscriber(topic, "Inactive"); connection.start(); for (int i = 0; i < count; ++i) { if (consumer.receive(TimeUnit.SECONDS.toMillis(10)) == null) { fail("should have received a message"); }// www . j a v a 2s . c o m } consumer.close(); connection.close(); }
From source file:Retailer.java
public void run() { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); try {/*from w w w. j a va 2 s . c o m*/ Connection connection = connectionFactory.createConnection(); // The Retailer's session is non-trasacted. Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination vendorOrderQueue = session.createQueue("VendorOrderQueue"); TemporaryQueue retailerConfirmQueue = session.createTemporaryQueue(); MessageProducer producer = session.createProducer(vendorOrderQueue); MessageConsumer replyConsumer = session.createConsumer(retailerConfirmQueue); connection.start(); for (int i = 0; i < 5; i++) { MapMessage message = session.createMapMessage(); message.setString("Item", "Computer(s)"); int quantity = (int) (Math.random() * 4) + 1; message.setInt("Quantity", quantity); message.setJMSReplyTo(retailerConfirmQueue); producer.send(message); System.out.println("Retailer: Ordered " + quantity + " computers."); MapMessage reply = (MapMessage) replyConsumer.receive(); if (reply.getBoolean("OrderAccepted")) { System.out.println("Retailer: Order Filled"); } else { System.out.println("Retailer: Order Not Filled"); } } // Send a non-MapMessage to signal the end producer.send(session.createMessage()); replyConsumer.close(); connection.close(); } catch (JMSException e) { e.printStackTrace(); } }
From source file:org.apache.camel.component.sjms.jms.ConnectionFactoryResource.java
@Override public Connection makeObject() throws Exception { Connection connection = null; if (connectionFactory != null) { if (getUsername() != null && getPassword() != null) { connection = connectionFactory.createConnection(getUsername(), getPassword()); } else {/*w ww . ja v a2s . c om*/ connection = connectionFactory.createConnection(); } } if (connection != null) { if (ObjectHelper.isNotEmpty(getClientId())) { connection.setClientID(getClientId()); } connection.start(); } return connection; }
From source file:org.wso2.carbon.bpmn.extensions.jms.JMSConnectionFactory.java
/** * * @return the shared connection object//from w w w. j a v a 2 s.co m */ private synchronized Connection getSharedConnection() { Connection connection = sharedConnectionMap.get(lastReturnedConnectionIndex); //int connectionIndex = lastReturnedConnectionIndex; if (connection == null) { connection = createConnection(); try { connection.start(); } catch (JMSException e) { log.error(e.getMessage(), e); } if (connection != null) { } // incrementConnectionCounter(lastReturnedConnectionIndex); sharedConnectionMap.put(lastReturnedConnectionIndex, connection); } // else{ // incrementConnectionCounter(lastReturnedConnectionIndex); // } lastReturnedConnectionIndex++; if (lastReturnedConnectionIndex >= maxSharedConnectionCount) { lastReturnedConnectionIndex = 0; } return connection; }
From source file:org.dawnsci.commandserver.core.producer.ProcessConsumer.java
/** * WARNING - starts infinite loop - you have to kill * @param uri//from ww w . j av a2 s . com * @param submitQName * @param statusTName * @param statusQName * @throws Exception */ private void monitorSubmissionQueue(URI uri, String submitQName, String statusTName, String statusQName) throws Exception { ConnectionFactory connectionFactory = ConnectionFactoryFacade.createConnectionFactory(uri); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue(submitQName); final MessageConsumer consumer = session.createConsumer(queue); connection.start(); System.out.println("Starting consumer for submissions to queue " + submitQName); while (isActive()) { // You have to kill it or call stop() to stop it! try { // Consumes messages from the queue. Message m = consumer.receive(1000); if (m != null) { // TODO FIXME Check if we have the max number of processes // exceeded and wait until we dont... TextMessage t = (TextMessage) m; ObjectMapper mapper = new ObjectMapper(); final StatusBean bean = mapper.readValue(t.getText(), getBeanClass()); if (bean != null) { // We add this to the status list so that it can be rendered in the UI if (!isHandled(bean)) continue; // Consume it and move on // Now we put the bean in the status queue and we // start the process RemoteSubmission factory = new RemoteSubmission(uri); factory.setLifeTime(t.getJMSExpiration()); factory.setPriority(t.getJMSPriority()); factory.setTimestamp(t.getJMSTimestamp()); factory.setQueueName(statusQName); // Move the message over to a status queue. factory.submit(bean, false); final ProgressableProcess process = createProcess(uri, statusTName, statusQName, bean); if (process != null) { if (process.isBlocking()) { System.out.println("About to run job " + bean.getName() + " messageid(" + t.getJMSMessageID() + ")"); } processCount++; process.start(); if (process.isBlocking()) { System.out.println( "Ran job " + bean.getName() + " messageid(" + t.getJMSMessageID() + ")"); } else { System.out.println("Started job " + bean.getName() + " messageid(" + t.getJMSMessageID() + ")"); } } } } } catch (Throwable ne) { // Really basic error reporting, they have to pipe to file. ne.printStackTrace(); setActive(false); } } }
From source file:org.wildfly.camel.test.jms.TransactedJMSIntegrationTest.java
private void sendMessage(Connection connection, String jndiName, String message) throws Exception { InitialContext initialctx = new InitialContext(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = (Destination) initialctx.lookup(jndiName); MessageProducer producer = session.createProducer(destination); TextMessage msg = session.createTextMessage(message); producer.send(msg);/* w w w . j av a2 s . co m*/ connection.start(); }
From source file:nl.nn.adapterframework.jms.MessagingSource.java
private Connection createAndStartConnection() throws JMSException { Connection connection; // do not log, as this may happen very often // if (log.isDebugEnabled()) log.debug(getLogPrefix()+"creating Connection, openConnectionCount before ["+openConnectionCount.getValue()+"]"); connection = createConnection();/*from ww w. j a v a2 s . c om*/ openConnectionCount.increase(); connection.start(); return connection; }
From source file:org.apache.activemq.artemis.tests.integration.persistence.metrics.JournalPendingMessageTest.java
@Test public void testScheduledStats() throws Exception { AtomicLong publishedMessageSize = new AtomicLong(); Connection connection = cf.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(session.createQueue(defaultQueueName)); producer.setDeliveryDelay(2000);/*from ww w . j a v a2 s . co m*/ producer.send(session.createTextMessage("test")); verifyPendingStats(defaultQueueName, 1, publishedMessageSize.get()); verifyPendingDurableStats(defaultQueueName, 1, publishedMessageSize.get()); verifyScheduledStats(defaultQueueName, 1, publishedMessageSize.get()); consumeTestQueueMessages(1); verifyPendingStats(defaultQueueName, 0, 0); verifyPendingDurableStats(defaultQueueName, 0, 0); verifyScheduledStats(defaultQueueName, 0, 0); connection.close(); }