Class ActiveMQConsumerExtension

  • All Implemented Interfaces:
    ActiveMQConsumerOperations, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.Extension

    public class ActiveMQConsumerExtension
    extends Object
    implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, ActiveMQConsumerOperations
    A JUnit Extension that embeds an ActiveMQ Artemis ClientConsumer into a test.

    This JUnit Extension is designed to simplify using ActiveMQ Artemis clients in unit tests. Adding the extension to a test will startup a ClientConsumer, which can then be used to consume messages from an ActiveMQ Artemis server.

    
     public class SimpleTest {
         @RegisterExtension
         private ActiveMQConsumerExtension client = new ActiveMQConsumerExtension( "vm://0", "test.queue" );
    
         @Test
         public void testSomething() throws Exception {
             // Use the embedded client here
             ClientMessage message = client.receiveMessage();
         }
     }
     
    • Constructor Detail

      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(String url,
                                         String queueName)
      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(String url,
                                         String queueName,
                                         String username,
                                         String password)
      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(String url,
                                         SimpleString queueName)
      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(org.apache.activemq.artemis.api.core.client.ServerLocator serverLocator,
                                         String queueName,
                                         String username,
                                         String password)
      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(org.apache.activemq.artemis.api.core.client.ServerLocator serverLocator,
                                         String queueName)
      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(org.apache.activemq.artemis.api.core.client.ServerLocator serverLocator,
                                         SimpleString queueName,
                                         String username,
                                         String password)
      • ActiveMQConsumerExtension

        public ActiveMQConsumerExtension​(org.apache.activemq.artemis.api.core.client.ServerLocator serverLocator,
                                         SimpleString queueName)
    • Method Detail

      • beforeAll

        public void beforeAll​(org.junit.jupiter.api.extension.ExtensionContext context)
                       throws Exception
        Specified by:
        beforeAll in interface org.junit.jupiter.api.extension.BeforeAllCallback
        Throws:
        Exception
      • afterAll

        public void afterAll​(org.junit.jupiter.api.extension.ExtensionContext context)
                      throws Exception
        Specified by:
        afterAll in interface org.junit.jupiter.api.extension.AfterAllCallback
        Throws:
        Exception
      • createClient

        protected void createClient()
      • stopClient

        protected void stopClient()
      • addMessageProperties

        public static void addMessageProperties​(org.apache.activemq.artemis.api.core.client.ClientMessage message,
                                                Map<String,​Object> properties)