/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * @param headers the header map builder. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications; the {@link Map} values must be String representations * of SpEL expressions that will be evaluated at run time when the message headers are * enriched. Headers derived from the map will <b>not</b> overwrite existing headers, * unless {@link #defaultOverwrite(boolean)} is true. * @param headers the headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Map<String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications via the consumer callback, which receives a * {@link StringStringMapBuilder}; the {@link Map} values must be String * representations of SpEL expressions that will be evaluated at run time when the * message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * Usually used with a JDK8 lambda: * <pre class="code"> * {@code * .enrichHeaders(s -> s.headerExpressions(c -> c * .put(MailHeaders.SUBJECT, "payload.subject") * .put(MailHeaders.FROM, "payload.from[0].toString()"))) * } * </pre> * @param configurer the configurer. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Consumer<StringStringMapBuilder> configurer) { return headerExpressions(configurer, null); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. * @param headers the header map builder. * @param overwrite true to overwrite existing headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers, Boolean overwrite) { Assert.notNull(headers, "'headers' must not be null"); return headerExpressions(headers.get(), overwrite); }
/** * Add header specifications via the consumer callback, which receives a * {@link StringStringMapBuilder}; the {@link Map} values must be String * representations of SpEL expressions that will be evaluated at run time when the * message headers are enriched. Usually used with a JDK8 lambda: * <pre class="code"> * {@code * .enrichHeaders(s -> s.headerExpressions(c -> c * .put(MailHeaders.SUBJECT, "payload.subject") * .put(MailHeaders.FROM, "payload.from[0].toString()"), true)) * } * </pre> * @param configurer the configurer. * @param overwrite true to overwrite existing headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Consumer<StringStringMapBuilder> configurer, Boolean overwrite) { Assert.notNull(configurer, "'configurer' must not be null"); StringStringMapBuilder builder = new StringStringMapBuilder(); configurer.accept(builder); return headerExpressions(builder.get(), overwrite); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * @param headers the header map builder. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * @param headers the header map builder. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications; the {@link Map} values must be String representations * of SpEL expressions that will be evaluated at run time when the message headers are * enriched. Headers derived from the map will <b>not</b> overwrite existing headers, * unless {@link #defaultOverwrite(boolean)} is true. * @param headers the headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Map<String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * @param headers the header map builder. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications; the {@link Map} values must be String representations * of SpEL expressions that will be evaluated at run time when the message headers are * enriched. Headers derived from the map will <b>not</b> overwrite existing headers, * unless {@link #defaultOverwrite(boolean)} is true. * @param headers the headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Map<String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications; the {@link Map} values must be String representations * of SpEL expressions that will be evaluated at run time when the message headers are * enriched. Headers derived from the map will <b>not</b> overwrite existing headers, * unless {@link #defaultOverwrite(boolean)} is true. * @param headers the headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Map<String, String> headers) { return headerExpressions(headers, null); }
/** * Add header specifications via the consumer callback, which receives a * {@link StringStringMapBuilder}; the {@link Map} values must be String * representations of SpEL expressions that will be evaluated at run time when the * message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * Usually used with a JDK8 lambda: * <pre class="code"> * {@code * .enrichHeaders(s -> s.headerExpressions(c -> c * .put(MailHeaders.SUBJECT, "payload.subject") * .put(MailHeaders.FROM, "payload.from[0].toString()"))) * } * </pre> * @param configurer the configurer. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Consumer<StringStringMapBuilder> configurer) { return headerExpressions(configurer, null); }
/** * Add header specifications via the consumer callback, which receives a * {@link StringStringMapBuilder}; the {@link Map} values must be String * representations of SpEL expressions that will be evaluated at run time when the * message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * Usually used with a JDK8 lambda: * <pre class="code"> * {@code * .enrichHeaders(s -> s.headerExpressions(c -> c * .put(MailHeaders.SUBJECT, "payload.subject") * .put(MailHeaders.FROM, "payload.from[0].toString()"))) * } * </pre> * @param configurer the configurer. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Consumer<StringStringMapBuilder> configurer) { return headerExpressions(configurer, null); }
/** * Add header specifications via the consumer callback, which receives a * {@link StringStringMapBuilder}; the {@link Map} values must be String * representations of SpEL expressions that will be evaluated at run time when the * message headers are enriched. Headers derived from the map will <b>not</b> * overwrite existing headers, unless {@link #defaultOverwrite(boolean)} is true. * Usually used with a JDK8 lambda: * <pre class="code"> * {@code * .enrichHeaders(s -> s.headerExpressions(c -> c * .put(MailHeaders.SUBJECT, "payload.subject") * .put(MailHeaders.FROM, "payload.from[0].toString()"))) * } * </pre> * @param configurer the configurer. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Consumer<StringStringMapBuilder> configurer) { return headerExpressions(configurer, null); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. * @param headers the header map builder. * @param overwrite true to overwrite existing headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers, Boolean overwrite) { Assert.notNull(headers, "'headers' must not be null"); return headerExpressions(headers.get(), overwrite); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. * @param headers the header map builder. * @param overwrite true to overwrite existing headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers, Boolean overwrite) { Assert.notNull(headers, "'headers' must not be null"); return headerExpressions(headers.get(), overwrite); }
/** * Add header specifications from the {@link MapBuilder}; the {@link Map} values must * be String representations of SpEL expressions that will be evaluated at run time * when the message headers are enriched. * @param headers the header map builder. * @param overwrite true to overwrite existing headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(MapBuilder<?, String, String> headers, Boolean overwrite) { Assert.notNull(headers, "'headers' must not be null"); return headerExpressions(headers.get(), overwrite); }
@Bean public IntegrationFlow pop3MailFlow() { return IntegrationFlows .from(Mail.pop3InboundAdapter("localhost", pop3Server.getPort(), "user", "pw") .javaMailProperties(p -> p.put("mail.debug", "false")) .headerMapper(mailHeaderMapper()), e -> e.autoStartup(true).poller(p -> p.fixedDelay(1000))) .enrichHeaders(s -> s.headerExpressions(c -> c.put(MailHeaders.SUBJECT, "payload.subject") .put(MailHeaders.FROM, "payload.from[0].toString()"))) .channel(MessageChannels.queue("pop3Channel")) .get(); }
/** * Add header specifications via the consumer callback, which receives a * {@link StringStringMapBuilder}; the {@link Map} values must be String * representations of SpEL expressions that will be evaluated at run time when the * message headers are enriched. Usually used with a JDK8 lambda: * <pre class="code"> * {@code * .enrichHeaders(s -> s.headerExpressions(c -> c * .put(MailHeaders.SUBJECT, "payload.subject") * .put(MailHeaders.FROM, "payload.from[0].toString()"), true)) * } * </pre> * @param configurer the configurer. * @param overwrite true to overwrite existing headers. * @return the header enricher spec. */ public HeaderEnricherSpec headerExpressions(Consumer<StringStringMapBuilder> configurer, Boolean overwrite) { Assert.notNull(configurer, "'configurer' must not be null"); StringStringMapBuilder builder = new StringStringMapBuilder(); configurer.accept(builder); return headerExpressions(builder.get(), overwrite); }
@Bean public IntegrationFlow pop3MailFlow() { return IntegrationFlows .from(Mail.pop3InboundAdapter("localhost", pop3Server.getPort(), "user", "pw") .javaMailProperties(p -> p.put("mail.debug", "false")) .headerMapper(mailHeaderMapper()), e -> e.autoStartup(true).poller(p -> p.fixedDelay(1000))) .enrichHeaders(s -> s.headerExpressions(c -> c.put(MailHeaders.SUBJECT, "payload.subject") .put(MailHeaders.FROM, "payload.from[0].toString()"))) .channel(MessageChannels.queue("pop3Channel")) .get(); }