Package org.springframework.amqp.rabbit.listener

Examples of org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint


   */
  public void testFullConfiguration(ApplicationContext context) {
    RabbitListenerContainerTestFactory simpleFactory =
        context.getBean("simpleFactory", RabbitListenerContainerTestFactory.class);
    assertEquals(1, simpleFactory.getListenerContainers().size());
    MethodRabbitListenerEndpoint endpoint = (MethodRabbitListenerEndpoint)
        simpleFactory.getListenerContainers().get(0).getEndpoint();
    assertEquals("listener1", endpoint.getId());
    assertQueues(endpoint, "queue1", "queue2");
    assertTrue("No queue instances should be set", endpoint.getQueues().isEmpty());
    assertEquals(true, endpoint.isExclusive());
    assertEquals(new Integer(34), endpoint.getPriority());
    assertSame(context.getBean("rabbitAdmin"), endpoint.getAdmin());

    // Resolve the container and invoke a message on it

    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    endpoint.setupListenerContainer(container);
    MessagingMessageListenerAdapter listener = (MessagingMessageListenerAdapter) container.getMessageListener();

    MessageProperties properties = new MessageProperties();
    properties.setContentType(MessageProperties.CONTENT_TYPE_TEXT_PLAIN);
    Message amqpMessage = new Message("Hello".getBytes(), properties);
View Full Code Here


   */
  public void testRabbitHandlerMethodFactoryConfiguration(ApplicationContext context) throws Exception {
    RabbitListenerContainerTestFactory simpleFactory =
        context.getBean("defaultFactory", RabbitListenerContainerTestFactory.class);
    assertEquals(1, simpleFactory.getListenerContainers().size());
    MethodRabbitListenerEndpoint endpoint = (MethodRabbitListenerEndpoint)
        simpleFactory.getListenerContainers().get(0).getEndpoint();

    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    endpoint.setupListenerContainer(container);
    MessagingMessageListenerAdapter listener = (MessagingMessageListenerAdapter) container.getMessageListener();

    MessageProperties properties = new MessageProperties();
    properties.setContentType(MessageProperties.CONTENT_TYPE_TEXT_PLAIN);
    Message amqpMessage = new Message("failValidation".getBytes(), properties);
View Full Code Here

    assertEquals("One container should have been registered", 1, factory.getListenerContainers().size());
    MessageListenerTestContainer container = factory.getListenerContainers().get(0);

    RabbitListenerEndpoint endpoint = container.getEndpoint();
    assertEquals("Wrong endpoint type", MethodRabbitListenerEndpoint.class, endpoint.getClass());
    MethodRabbitListenerEndpoint methodEndpoint = (MethodRabbitListenerEndpoint) endpoint;
    assertNotNull(methodEndpoint.getBean());
    assertNotNull(methodEndpoint.getMethod());

    SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer();
    methodEndpoint.setupListenerContainer(listenerContainer);
    assertNotNull(listenerContainer.getMessageListener());

    assertTrue("Should have been started " + container, container.isStarted());
    context.close(); // Close and stop the listeners
    assertTrue("Should have been stopped " + container, container.isStopped());
View Full Code Here

                "proxies by setting proxy-target-class/proxyTargetClass " +
                "attribute to 'true'", method.getName(), method.getDeclaringClass().getSimpleName()));
      }
    }

    MethodRabbitListenerEndpoint endpoint = new MethodRabbitListenerEndpoint();
    endpoint.setBean(bean);
    endpoint.setMethod(method);
    endpoint.setMessageHandlerMethodFactory(this.messageHandlerMethodFactory);
    endpoint.setId(getEndpointId(rabbitListener));
    endpoint.setQueueNames(resolveQueues(rabbitListener.queues()));

    endpoint.setExclusive(rabbitListener.exclusive());
    String priority = resolve(rabbitListener.priority());
    if (StringUtils.hasText(priority)) {
      try {
        endpoint.setPriority(Integer.valueOf(priority));
      }
      catch (NumberFormatException ex) {
        throw new BeanInitializationException("Invalid priority value for " +
            rabbitListener + " (must be an integer)", ex);
      }
    }

    String rabbitAdmin = resolve(rabbitListener.admin());
    if (StringUtils.hasText(rabbitAdmin)) {
      Assert.state(this.beanFactory != null, "BeanFactory must be set to resolve RabbitAdmin by bean name");
      try {
        endpoint.setAdmin(this.beanFactory.getBean(rabbitAdmin, RabbitAdmin.class));
      }
      catch (NoSuchBeanDefinitionException ex) {
        throw new BeanInitializationException("Could not register rabbit listener endpoint on [" +
            method + "], no " + RabbitAdmin.class.getSimpleName() + " with id '" +
            rabbitAdmin + "' was found in the application context", ex);
View Full Code Here

  @Test
  public void messageConverterUsedIfSet() throws Exception {
    containerFactory.setMessageConverter(new UpperCaseMessageConverter());

    MethodRabbitListenerEndpoint endpoint = createDefaultMethodRabbitEndpoint("expectFooBarUpperCase", String.class);
    Message message = MessageTestUtils.createTextMessage("foo-bar");

    invokeListener(endpoint, message);
    assertListenerMethodInvocation("expectFooBarUpperCase");
  }
View Full Code Here

  }


  private MethodRabbitListenerEndpoint createMethodRabbitEndpoint(
      DefaultMessageHandlerMethodFactory factory, Method method) {
    MethodRabbitListenerEndpoint endpoint = new MethodRabbitListenerEndpoint();
    endpoint.setBean(sample);
    endpoint.setMethod(method);
    endpoint.setMessageHandlerMethodFactory(factory);
    return endpoint;
  }
View Full Code Here

TOP

Related Classes of org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.