SpringOne 2014 @Config to DSL (E-G)
This commit is contained in:
@@ -16,16 +16,21 @@
|
||||
package org.springframework.integration.samples.si4demo.springone.f;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.integration.annotation.BridgeTo;
|
||||
import org.springframework.integration.annotation.IntegrationComponentScan;
|
||||
import org.springframework.integration.annotation.MessagingGateway;
|
||||
import org.springframework.integration.channel.DirectChannel;
|
||||
import org.springframework.integration.dsl.IntegrationFlow;
|
||||
import org.springframework.integration.dsl.IntegrationFlows;
|
||||
import org.springframework.integration.dsl.mail.Mail;
|
||||
import org.springframework.integration.samples.si4demo.springone.GMailProperties;
|
||||
import org.springframework.messaging.MessageChannel;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -43,7 +48,9 @@ public class FMail {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ConfigurableApplicationContext ctx =
|
||||
SpringApplication.run(FMail.class);
|
||||
new SpringApplicationBuilder(FMail.class)
|
||||
.web(false)
|
||||
.run(args);
|
||||
System.out.println(ctx.getBean(FooService.class).foo("foo"));
|
||||
ctx.close();
|
||||
}
|
||||
@@ -60,8 +67,37 @@ public class FMail {
|
||||
return f -> f
|
||||
.transform("payload + payload")
|
||||
.handle(String.class, (p, h) -> p.toUpperCase())
|
||||
//RLR
|
||||
;
|
||||
.routeToRecipients(r ->
|
||||
r.recipient("bridgeToNowhere", "true")
|
||||
.recipient("smtpChannel", "true"));
|
||||
}
|
||||
|
||||
@BridgeTo
|
||||
@Bean
|
||||
public MessageChannel bridgeToNowhere() {
|
||||
return new DirectChannel();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MessageChannel smtpChannel() {
|
||||
return new DirectChannel();
|
||||
}
|
||||
|
||||
@Bean
|
||||
IntegrationFlow smtp() {
|
||||
return IntegrationFlows.from(smtpChannel())
|
||||
.enrichHeaders(Mail.headers()
|
||||
.subject("SpringOne 2014")
|
||||
.to("sispringone@gmail.com")
|
||||
.from("sispringone@gmail.com"))
|
||||
.handle(Mail.outboundAdapter("smtp.gmail.com")
|
||||
.port(465)
|
||||
.protocol("smtps")
|
||||
.credentials(gmail.getUser(), gmail.getPassword())
|
||||
.javaMailProperties(p ->
|
||||
p.put("mail.debug", "false"))
|
||||
, e -> e.id("smtpOut"))
|
||||
.get();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,13 +16,16 @@
|
||||
package org.springframework.integration.samples.si4demo.springone.g;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.integration.dsl.IntegrationFlow;
|
||||
import org.springframework.integration.dsl.IntegrationFlows;
|
||||
import org.springframework.integration.dsl.mail.Mail;
|
||||
import org.springframework.integration.mail.MailHeaders;
|
||||
import org.springframework.integration.samples.si4demo.springone.GMailProperties;
|
||||
|
||||
/**
|
||||
@@ -41,7 +44,9 @@ public class GIMAP {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ConfigurableApplicationContext ctx =
|
||||
SpringApplication.run(GIMAP.class);
|
||||
new SpringApplicationBuilder(GIMAP.class)
|
||||
.web(false)
|
||||
.run(args);
|
||||
System.out.println("Hit Enter to terminate");
|
||||
System.in.read();
|
||||
ctx.close();
|
||||
@@ -49,7 +54,22 @@ public class GIMAP {
|
||||
|
||||
@Bean
|
||||
IntegrationFlow imapIdle() {
|
||||
return null;
|
||||
return IntegrationFlows.from(Mail.imapIdleAdapter(
|
||||
"imaps://"
|
||||
+ gmail.getUser().replaceAll("@", "%40")
|
||||
+ ":"
|
||||
+ gmail.getPassword()
|
||||
+ "@imap.gmail.com:993/INBOX")
|
||||
.id("imapIn")
|
||||
.autoStartup(true)
|
||||
.javaMailProperties(p ->
|
||||
p.put("mail.debug", "false")))
|
||||
.enrichHeaders(s -> s.headerExpressions(h -> h
|
||||
.put(MailHeaders.SUBJECT, "payload.subject")
|
||||
.put(MailHeaders.FROM, "payload.from[0].toString()")))
|
||||
.transform("payload.content")
|
||||
.handle(System.out::println)
|
||||
.get();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user