Files
spring-integration-extensions/spring-integration-java-dsl
Artem Bilan 0baeb52b3f Revert IntegrationFlow processing to BFPP
Add test case for `@MessageEndpoint` to et deal with channel from `IntegrationFlow`
As far as `AbstractMethodAnnotationPostProcessor` tries to resolve `channel` on endpoint creation,
the `IntegrationFlow` processing can't be done in the `BPP`, because `MessagingAnnotationPostProcessor` may parse
annotations for bean before `IntegrationFlowBeanPostProcessor` will do its stuff.
2014-02-14 12:08:28 +02:00
..
2014-02-13 21:44:48 +02:00
2014-02-13 21:44:48 +02:00
2014-02-11 18:12:55 -05:00

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

    @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() {
            PollerMetadata pollerMetadata = new PollerMetadata();
            pollerMetadata.setTrigger(new PeriodicTrigger(100));

            return IntegrationFlows.from(this.integerMessageSource())
                        .poll(this.inputChannel(), pollerMetadata)
                        .transform((Integer p) -> p * 2)
                        .transform(Object::toString)
                        .channel(new QueueChannel())
                        .build();
        }
    }

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>
    <id>repository.springframework.maven.snapshot</id>
    <name>Spring Framework Maven Snapshot Repository</name>
    <url>http://repo.spring.io/libs-snapshot</url>
</repository>

Artifact

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-dsl</artifactId>
    <version>1.0.0.BUILD-SNAPSHOT</version>
</dependency>

Support

Check out the Spring Integration forums and the spring-integration tag on Stack Overflow. Commercial support is available, too.

For more information, please also don't forget to visit the Spring Integration website.