diff --git a/spring-integration-java-dsl/README.md b/spring-integration-java-dsl/README.md
index 809680f..8897b4d 100644
--- a/spring-integration-java-dsl/README.md
+++ b/spring-integration-java-dsl/README.md
@@ -1,88 +1,6 @@
Spring Integration Java DSL
===============================
-The Spring Integration JavaConfig and DSL extension. Provides a set of convenient Builders and fluent API to configure
-Spring Integration message flows from Spring `@Configuration` classes.
-
-## Example Configurations
-
-````java
- @Configuration
- @EnableIntegration
- public class MyConfiguration {
-
- @Bean
- public MessageSource> integerMessageSource() {
- MethodInvokingMessageSource source = new MethodInvokingMessageSource();
- source.setObject(new AtomicInteger());
- source.setMethodName("getAndIncrement");
- return source;
- }
-
- @Bean
- public DirectChannel inputChannel() {
- return new DirectChannel();
- }
-
- @Bean
- public IntegrationFlow myFlow() {
- return IntegrationFlows.from(this.integerMessageSource(), c -> c.poller(Pollers.fixedRate(100)))
- .channel(this.inputChannel())
- .filter((Integer p) -> p > 0)
- .transform(Object::toString)
- .channel(MessageChannels.queue())
- .get();
- }
- }
-````
-
-As the result after `ApplicationContext` start up will be created Spring Integration endpoints and Message Channels as it is after XML parsing.
-Such configuration can be used to replace XML configuration or together with that.
-
-## Maven
-
-### Repository
-
-
- repository.springframework.maven.snapshot
- Spring Framework Maven Snapshot Repository
- http://repo.spring.io/libs-snapshot
-
-
-### Artifact
-
-
- org.springframework.integration
- spring-integration-dsl
- 1.0.0.BUILD-SNAPSHOT
-
-
-## Support
-
-Check out the [Spring Integration forums][] and the [spring-integration][spring-integration tag] tag
-on [Stack Overflow][]. [Commercial support][] is available, too.
-
-## Related GitHub projects
-
-* [Spring Integration][]
-* [Spring Integration Samples][]
-* [Spring Integration Templates][]
-* [Spring Integration Dsl Groovy][]
-* [Spring Integration Dsl Scala][]
-* [Spring Integration Pattern Catalog][]
-
-For more information, please also don't forget to visit the [Spring Integration][] website.
-
-[Spring Integration]: https://github.com/spring-projects/spring-integration
-[Commercial support]: http://springsource.com/support/springsupport
-[Spring Integration forums]: http://forum.spring.io/forum/spring-projects/integration
-[spring-integration tag]: http://stackoverflow.com/questions/tagged/spring-integration
-[Spring Integration Samples]: https://github.com/spring-projects/spring-integration-samples
-[Spring Integration Templates]: https://github.com/spring-projects/spring-integration-templates/tree/master/si-sts-templates
-[Spring Integration Dsl Groovy]: https://github.com/spring-projects/spring-integration-dsl-groovy
-[Spring Integration Dsl Scala]: https://github.com/spring-projects/spring-integration-dsl-scala
-[Spring Integration Pattern Catalog]: https://github.com/spring-projects/spring-integration-pattern-catalog
-[Stack Overflow]: http://stackoverflow.com/faq
-
-
-
+See the
+[Spring Integration Java DSL Reference](https://github.com/spring-projects/spring-integration-extensions/wiki/Spring-Integration-Java-DSL-Reference)
+for more info.
diff --git a/spring-integration-java-dsl/src/test/java/org/springframework/integration/dsl/test/IntegrationFlowTests.java b/spring-integration-java-dsl/src/test/java/org/springframework/integration/dsl/test/IntegrationFlowTests.java
index 2fab98e..5ddbb78 100644
--- a/spring-integration-java-dsl/src/test/java/org/springframework/integration/dsl/test/IntegrationFlowTests.java
+++ b/spring-integration-java-dsl/src/test/java/org/springframework/integration/dsl/test/IntegrationFlowTests.java
@@ -77,6 +77,7 @@ import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.config.EnableIntegration;
import org.springframework.integration.config.GlobalChannelInterceptor;
import org.springframework.integration.core.MessageSource;
+import org.springframework.integration.dsl.AggregatorSpec;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
import org.springframework.integration.dsl.ResequencerSpec;
@@ -272,6 +273,10 @@ public class IntegrationFlowTests {
@Qualifier("priorityReplyChannel")
private PollableChannel priorityReplyChannel;
+ @Autowired
+ @Qualifier("lamdasInput")
+ private MessageChannel lamdasInput;
+
@BeforeClass
public static void setup() throws IOException {
mongodExe = MongodStarter.getDefaultInstance()
@@ -440,6 +445,26 @@ public class IntegrationFlowTests {
assertEquals("Hello, world", receive.getPayload());
}
+ @Test
+ public void testLamdas() {
+ QueueChannel replyChannel = new QueueChannel();
+ Message> message = MessageBuilder.withPayload("World")
+ .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel)
+ .build();
+ this.lamdasInput.send(message);
+ Message> receive = replyChannel.receive(5000);
+ assertNotNull(receive);
+ assertEquals("Hello World", receive.getPayload());
+
+ message = MessageBuilder.withPayload("Spring")
+ .setHeader(MessageHeaders.REPLY_CHANNEL, replyChannel)
+ .build();
+
+ this.lamdasInput.send(message);
+ assertNull(replyChannel.receive(10));
+
+ }
+
@Test
public void testWrongConfigurationWithSpecBean() {
ConfigurableApplicationContext context = null;
@@ -826,7 +851,7 @@ public class IntegrationFlowTests {
.get();
}
- @Bean(name = PollerMetadata.DEFAULT_POLLER_METADATA_BEAN_NAME)
+ @Bean(name = PollerMetadata.DEFAULT_POLLER)
public PollerMetadata poller() {
return Pollers.fixedRate(500).get();
}
@@ -895,7 +920,7 @@ public class IntegrationFlowTests {
@Bean
public IntegrationFlow priorityFlow(PriorityCapableChannelMessageStore mongoDbChannelMessageStore) {
return IntegrationFlows.from(MessageChannels.priority("priorityChannel",
- mongoDbChannelMessageStore, "priorityGroup"))
+ mongoDbChannelMessageStore, "priorityGroup").interceptor())
.bridge(s -> s.poller(Pollers.fixedDelay(1000, 2000)))
.channel(MessageChannels.queue("priorityReplyChannel"))
.get();
@@ -1050,6 +1075,14 @@ public class IntegrationFlowTests {
.get();
}
+ @Bean
+ public IntegrationFlow lamdasFlow() {
+ return IntegrationFlows.from("lamdasInput")
+ .filter("World"::equals)
+ .transform("Hello "::concat)
+ .get();
+ }
+
@Bean
public IntegrationFlow enricherFlow() {
return IntegrationFlows.fromFixedMessageChannel("enricherInput")