此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

从版本 6.0 开始,Spring AOT 本机提示支持将 Spring Integration 应用程序编译为本机映像的 GraalVM。 对于最常见的用例,例如使用方法的端点定义、使用 lambda 的 Java DSL 配置和接口扫描(导入),该框架提供了相应的反射、代理和序列化提示。 如果配置在 POJO 方法上使用消息传递注释(等),或者 POJO 方法与 API 一起使用,则还必须使用注释来标记它们,因为它们是由框架反射性调用的。@Bean@MessagingGateway@ServiceActivator@SplitterIntegrationFlowBuilder.handle(Object service, String methodName)@ReflectiveSpring中文文档

本机映像不支持 XML 配置。
本机映像不支持 XML 配置。

如前所述,带有注解的服务接口,当它们被 和 注释 扫描或用于注解时,由框架处理,并将相应的代理提示公开到 AOT 贡献中。 使用 API 声明网关时,必须手动公开为此类接口配置的代理:@MessagingGateway@IntegrationComponentScan@ImportIntegrationFlow.from(Class<?> serviceInterface)Spring中文文档

@Configuration
@EnableIntegration
@ImportRuntimeHints(GatewayRuntimeHints.class)
public class IntegrationConfiguration {

    @Bean
    IntegrationFlow someFlow() {
        return IntegrationFlow.from(SomeGateway)
                  // ...
                   .get();
    }

    public interface SomeGateway {

        void doSomething(Object payload);

    }

    private static class GatewayRuntimeHints implements RuntimeHintsRegistrar {

        @Override
        public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
            hints.proxies().registerJdkProxy(
                                   AopProxyUtils.completeJdkProxyInterfaces(SomeGateway));
        }

    }

}
在 AOT 处理阶段不会处理内容。 因此,目标应用程序必须提供某些提示,例如上面提到的网关代理提示。IntegrationFlow
在 AOT 处理阶段不会处理内容。 因此,目标应用程序必须提供某些提示,例如上面提到的网关代理提示。IntegrationFlow

当然,配置只是集成解决方案的一部分。 最重要的部分是通过网络传输数据以及持久存储。 这就是序列化在许多用例中派上用场的地方。 Spring Integration 将序列化提示公开到框架内部使用的这些类型的本机映像配置中:、、、 对于用户特定数据(主要以消息负载形式存在),必须通过实现手动公开序列化提示,如上所示的网关代理和相应的 API。StringNumberLongDateArrayListHashMapPropertiesHashtableExceptionUUIDGenericMessageErrorMessageMessageHeadersAdviceMessageMutableMessageMutableMessageHeadersMessageGroupMetadataMessageHolderMessageMetadataMessageHistoryMessageHistory.EntryDelayHandler.DelayedMessageWrapperRuntimeHintsRegistrarRuntimeHints.serialization().registerType()Spring中文文档

建议使用 Spring Boot 开发本机集成应用程序,并使用其各自的构建工具。
建议使用 Spring Boot 开发本机集成应用程序,并使用其各自的构建工具。