List of usage examples for org.springframework.integration.handler MethodInvokingMessageProcessor processMessage
@Override @Nullable @SuppressWarnings("unchecked") public T processMessage(Message<?> message)
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")); }