Example usage for org.springframework.integration.handler MethodInvokingMessageProcessor processMessage

List of usage examples for org.springframework.integration.handler MethodInvokingMessageProcessor processMessage

Introduction

In this page you can find the example usage for org.springframework.integration.handler MethodInvokingMessageProcessor processMessage.

Prototype

@Override
    @Nullable
    @SuppressWarnings("unchecked")
    public T processMessage(Message<?> message) 

Source Link

Usage

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void multiThreadsUUIDToStringConversion() throws Exception {
    Method method = TestService.class.getMethod("headerId", String.class, String.class);
    final MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    ExecutorService exec = Executors.newFixedThreadPool(100);
    processor.processMessage(new GenericMessage<String>("foo"));
    for (int i = 0; i < 100; i++) {
        exec.execute(new Runnable() {
            public void run() {
                Object result = processor.processMessage(new GenericMessage<String>("foo"));
                assertNotNull(result);/*from   ww  w  .  j av a2s . c o  m*/
            }
        });
    }
    exec.shutdown();
    assertTrue(exec.awaitTermination(10, TimeUnit.SECONDS));
    assertEquals(0, concurrencyFailures);
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void optionalHeader() throws Exception {
    Method method = TestService.class.getMethod("optionalHeader", Integer.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Object result = processor.processMessage(new GenericMessage<String>("foo"));
    assertNull(result);/*from w  ww. ja  v a  2s .  c  o m*/
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test(expected = MessageHandlingException.class)
public void requiredHeaderNotProvided() throws Exception {
    Method method = TestService.class.getMethod("requiredHeader", Integer.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    processor.processMessage(new GenericMessage<String>("foo"));
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test(expected = MessageHandlingException.class)
public void requiredHeaderNotProvidedOnSecondMessage() throws Exception {
    Method method = TestService.class.getMethod("requiredHeader", Integer.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Message<String> messageWithHeader = MessageBuilder.withPayload("foo").setHeader("num", new Integer(123))
            .build();//  w w w.j av  a2s. c  o m
    GenericMessage<String> messageWithoutHeader = new GenericMessage<String>("foo");

    processor.processMessage(messageWithHeader);
    processor.processMessage(messageWithoutHeader);
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void fromMessageWithRequiredHeaderProvided() throws Exception {
    Method method = TestService.class.getMethod("requiredHeader", Integer.class);
    Message<String> message = MessageBuilder.withPayload("foo").setHeader("num", new Integer(123)).build();
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Object result = processor.processMessage(message);
    assertEquals(new Integer(123), result);
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test(expected = MessageHandlingException.class)
public void fromMessageWithOptionalAndRequiredHeaderAndOnlyOptionalHeaderProvided() throws Exception {
    Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Message<String> message = MessageBuilder.withPayload("foo").setHeader("prop", "bar").build();
    processor.processMessage(message);
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void fromMessageWithOptionalAndRequiredHeaderAndOnlyRequiredHeaderProvided() throws Exception {
    Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Message<String> message = MessageBuilder.withPayload("foo").setHeader("num", new Integer(123)).build();
    Object result = processor.processMessage(message);
    assertEquals("null123", result);
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void fromMessageWithOptionalAndRequiredHeaderAndBothHeadersProvided() throws Exception {
    Method method = TestService.class.getMethod("optionalAndRequiredHeader", String.class, Integer.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Message<String> message = MessageBuilder.withPayload("foo").setHeader("num", new Integer(123))
            .setHeader("prop", "bar").build();
    Object result = processor.processMessage(message);
    assertEquals("bar123", result);
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void fromMessageWithPropertiesMethodAndHeadersAnnotation() throws Exception {
    Method method = TestService.class.getMethod("propertiesHeaders", Properties.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Message<String> message = MessageBuilder.withPayload("test").setHeader("prop1", "foo")
            .setHeader("prop2", "bar").build();
    Object result = processor.processMessage(message);
    Properties props = (Properties) result;
    assertEquals("foo", props.getProperty("prop1"));
    assertEquals("bar", props.getProperty("prop2"));
}

From source file:org.springframework.integration.handler.MethodInvokingMessageProcessorAnnotationTests.java

@Test
public void fromMessageWithPropertiesAndObjectMethod() throws Exception {
    Method method = TestService.class.getMethod("propertiesHeadersAndPayload", Properties.class, Object.class);
    MethodInvokingMessageProcessor processor = new MethodInvokingMessageProcessor(testService, method);
    Message<String> message = MessageBuilder.withPayload("test").setHeader("prop1", "foo")
            .setHeader("prop2", "bar").build();
    Object result = processor.processMessage(message);
    Properties props = (Properties) result;
    assertEquals("foo", props.getProperty("prop1"));
    assertEquals("bar", props.getProperty("prop2"));
    assertEquals("test", props.getProperty("payload"));
}