private void initializeJmsObjectsForTopic() throws JMSException { Session session = connection.createSession(transacted, Session.AUTO_ACKNOWLEDGE); Topic topic = (Topic)destination; if (destination == null) topic = session.createTopic(destinationName); MessageConsumer consumer = durableSubscription ? session.createDurableSubscriber(topic, durableSubscriptionName) : session.createConsumer(topic); IgniteJmsMessageListener messageListener = new IgniteJmsMessageListener(session, true); consumer.setMessageListener(messageListener); consumers.add(consumer); sessions.add(session); listeners.add(messageListener); }
public MessageSender createSender(String topic) { try { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(session.createTopic(topic)); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); return new ActiveMqMessageSender(session, producer); } catch (Exception e) { throw bomb(e); } }
connection.setClientID(clientId.get()); connection.start(); } catch (JMSException e) { throw new FlumeException("Could not create connection to broker", e); session = connection.createSession(true, Session.SESSION_TRANSACTED); } catch (JMSException e) { throw new FlumeException("Could not create session", e); break; case TOPIC: destination = session.createTopic(destinationName); break; default:
@Test public void testStartIdempotency() throws Exception { JmsBaseConnectionFactory connectionFactory = new JmsBaseConnectionFactory(new URI("rocketmq://xxx?consumerId=" + consumerId + "&nameServer=" + nameServer)); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); checkConsumerState(consumerId, true, false); try { Destination destination = session.createTopic(topic + ":" + messageType); MessageConsumer consumer = session.createConsumer(destination); consumer.setMessageListener(listener); checkConsumerState(consumerId, false, false); ((JmsBaseMessageConsumer) consumer).startConsumer(); checkConsumerState(consumerId, false, true); Destination destination1 = session.createTopic(topic2 + ":" + messageType); MessageConsumer consumer1 = session.createConsumer(destination1); consumer1.setMessageListener(listener); ((JmsBaseMessageConsumer) consumer1).startConsumer(); checkConsumerState(consumerId, false, true); //the start is idempotent connection.start(); connection.start(); Thread.sleep(5000); } finally { connection.close(); } }
@Test public void replyPayloadToTopic() throws JMSException { Session session = mock(Session.class); Topic replyDestination = mock(Topic.class); given(session.createTopic("topicOut")).willReturn(replyDestination); MessageProducer messageProducer = mock(MessageProducer.class); TextMessage responseMessage = mock(TextMessage.class); given(session.createTextMessage("Response")).willReturn(responseMessage); given(session.createProducer(replyDestination)).willReturn(messageProducer); MessagingMessageListenerAdapter listener = getPayloadInstance("Response", "replyPayloadToTopic", Message.class); listener.onMessage(mock(javax.jms.Message.class), session); verify(session).createTopic("topicOut"); verify(session).createTextMessage("Response"); verify(messageProducer).send(responseMessage); verify(messageProducer).close(); }
@Override protected void setUp() throws Exception { brokerService = new BrokerService(); brokerService.setPersistent(false); brokerService.start(); factory = new ActiveMQConnectionFactory(BrokerRegistry.getInstance().findFirst().getVmConnectorURI()); consumerConnection = factory.createConnection(); consumerConnection.start(); producerConnection = factory.createConnection(); producerConnection.start(); consumerSession = consumerConnection.createSession(false,Session.AUTO_ACKNOWLEDGE); topic = consumerSession.createTopic(getName()); producerSession = producerConnection.createSession(false,Session.AUTO_ACKNOWLEDGE); consumer = consumerSession.createConsumer(topic); producer = producerSession.createProducer(topic); }
public ActiveMQTopicSubscriber(String url, MessageListener listener, Topic subject) throws JMSException { String user = ActiveMQConnection.DEFAULT_USER; String password = ActiveMQConnection.DEFAULT_PASSWORD; System.out.println("Attempting connection to: " + url); ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); this.connection = connectionFactory.createConnection(); connection.setExceptionListener(this); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createTopic(subject.toString()); MessageConsumer consumer = session.createConsumer(destination); consumer.setMessageListener(listener); }
Connection connection = createConnection(producerId, consumerId); Connection anotherConnection = createConnection(producerId, consumerId +"other"); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Session anotherSession = anotherConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destinationA = session.createTopic("topic:tagA"); Destination destinationB = session.createTopic("topic:tagB"); final CountDownLatch countDownLatch = new CountDownLatch(2); JmsTestListener listenerForTagA = new JmsTestListener(10, countDownLatch); try { session.createConsumer(destinationA).setMessageListener(listenerForTagA); anotherSession.createConsumer(session.createTopic("topic")).setMessageListener(listenerForAll); MessageProducer messageProducer = session.createProducer(destinationA); connection.start(); anotherConnection.start(); messageProducer.send(message); Assert.assertNotNull(message.getJMSMessageID()); TextMessage message = session.createTextMessage(text + i); Assert.assertNull(message.getJMSMessageID()); messageProducer.send(destinationB, message); Assert.assertNotNull(message.getJMSMessageID()); connection.close(); anotherConnection.close();
/** * Connection specific setup for JMS. * * @throws JMSException */ public void createConnection() throws JMSException { connection = getConnectionFactory().createConnection(); if (durable && clientId != null) { connection.setClientID(clientId); } logger.debug("Before starting connection."); connection.start(); logger.debug("After starting connection."); // Create session session = connection.createSession(transacted, getSessionAckMode(ackMode)); // Create destination destination = topic ? session.createTopic(subject) : session.createQueue(subject); }
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destinationA = session.createTopic("TopicA"); Destination destinationB = session.createTopic("TopicB"); final CountDownLatch countDownLatch = new CountDownLatch(2); JmsTestListener listenerA = new JmsTestListener(10,countDownLatch); messageConsumerB.setMessageListener(listenerB); MessageProducer messageProducer = session.createProducer(destinationA); connection.start(); messageProducer.send(message); Assert.assertNotNull(message.getJMSMessageID()); TextMessage message = session.createTextMessage(text + i); Assert.assertNull(message.getJMSMessageID()); messageProducer.send(destinationB, message); Assert.assertNotNull(message.getJMSMessageID()); connection.close();
public void setupConnection() throws JMSException { // Create connection ActiveMQConnectionFactory connectionFactory; connectionFactory = new ActiveMQConnectionFactory(user, password, url); connection = connectionFactory.createConnection(); connection.start(); // Create session session = connection.createSession(transacted, ackMode); // Create destination destination = topic ? session.createTopic(subject) : session.createQueue(subject); // Create consumer consumer = (durable && topic) ? session.createDurableSubscriber((Topic)destination, consumerName) : session.createConsumer(destination); consumer.setMessageListener(this); }
@Test public void testReferenceCount() throws Exception { JmsBaseConnectionFactory connectionFactory = new JmsBaseConnectionFactory(new URI("rocketmq://xxx?consumerId=" + consumerId + "&nameServer=" + nameServer)); Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); connection.start(); try { Destination destination = session.createTopic(topic + ":" + messageType); MessageConsumer consumer = session.createConsumer(destination); consumer.setMessageListener(listener); RMQPushConsumerExt rmqPushConsumerExt = getRMQPushConsumerExt(consumerId); Assert.assertNotNull(rmqPushConsumerExt); Assert.assertEquals(1, rmqPushConsumerExt.getReferenceCount()); MessageConsumer consumer2 = session.createConsumer(destination); Assert.assertEquals(2, rmqPushConsumerExt.getReferenceCount()); MessageConsumer consumer3 = session.createConsumer(session.createTopic(topic + ":" + messageType)); Assert.assertEquals(3, rmqPushConsumerExt.getReferenceCount()); session.close(); Assert.assertEquals(0, rmqPushConsumerExt.getReferenceCount()); Assert.assertEquals(false, rmqPushConsumerExt.isStarted()); Assert.assertNull(getRMQPushConsumerExt(consumerId)); Thread.sleep(5000); } finally { connection.close(); } }
private void connect() throws JMSException { String url = String.format("%s://%s:%d", amqConfig.getProtocol(), amqConfig.getHost(), amqConfig.getPort()); log.info("Connecting to: " + url); ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(amqConfig.getUsername(), amqConfig.getPassword(), url); connection = connectionFactory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); consumer = session.createConsumer(session.createTopic(amqConfig.getTopic())); consumer.setMessageListener(listener); log.info("Connected!"); }
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); connection.start(); try { Destination destination = session.createTopic(topic + ":" + messageType); session.createConsumer(destination); session.createProducer(destination); connection.close();
public void open() throws JMSException { if (session != null) return; JMSTransport transport = (JMSTransport) getTransport(); connection = transport.getConnectionFactory().createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); String destinationName = getDestinationName(); if (isTopic) { destination = session.createTopic(destinationName); } else { destination = session.createQueue(destinationName); } consumer = createConsumer(); consumer.setMessageListener(this); }
private void testJmsConnection(final javax.jms.Connection connection) throws JMSException { final Session session = connection.createSession(false, Session.DUPS_OK_ACKNOWLEDGE); final Topic topic = session.createTopic("test"); final MessageProducer producer = session.createProducer(topic); producer.send(session.createMessage()); producer.close(); session.close(); connection.close(); }
@Override @Before public void setUp() throws Exception { super.setUp(); uri = new URI(scheme + "://" + hostname + ":" + port); server = createServer(); server.start(); waitForServerToStart(server); connectionFactory = createConnectionFactory(); ((ActiveMQConnectionFactory)connectionFactory).setCompressLargeMessage(isCompressLargeMessages()); if (isSecurityEnabled()) { connection = connectionFactory.createConnection("brianm", "wombats"); } else { connection = connectionFactory.createConnection(); } session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); queue = session.createQueue(getQueueName()); topic = session.createTopic(getTopicName()); connection.start(); }
private void testJmsConnection(final Connection connection) throws JMSException { final Session session = connection.createSession(false, Session.DUPS_OK_ACKNOWLEDGE); final Topic topic = session.createTopic("test"); final MessageProducer producer = session.createProducer(topic); producer.send(session.createMessage()); producer.close(); session.close(); connection.close(); }
private void testJmsConnection(final Connection connection) throws JMSException { final Session session = connection.createSession(false, Session.DUPS_OK_ACKNOWLEDGE); final Topic topic = session.createTopic("test"); final MessageProducer producer = session.createProducer(topic); producer.send(session.createMessage()); producer.close(); session.close(); connection.close(); }
private void testJmsConnection(final javax.jms.Connection connection) throws JMSException { final Session session = connection.createSession(false, Session.DUPS_OK_ACKNOWLEDGE); final Topic topic = session.createTopic("test"); final MessageProducer producer = session.createProducer(topic); producer.send(session.createMessage()); producer.close(); session.close(); connection.close(); }