您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Spring Integration中为Redis创建MessageSource

在Spring Integration中为Redis创建MessageSource

借助XML配置和Spring Integration命名空间的支持,XML解析器隐藏了如何声明目标bean并将它们连接在一起。对于Java和注释配置,了解用于目标最终用户应用程序的Framework API非常重要。

然后我们为此打开一个XSD <int-redis:queue-inbound-channel-adapter>

 <xsd:element name="queue-inbound-channel-adapter">
    <xsd:annotation>
        <xsd:documentation>
            Defines a Message Producing Endpoint for the
            'org.springframework.integration.redis.inbound.RedisQueueMessageDrivenEndpoint' for listening a Redis
            queue.
        </xsd:documentation>
    </xsd:annotation>

因此,听起来a int-redis:queue-inbound-channel- adapter不是MessageSource。因此@InboundChannelAdapter是死胡同。我同意XML元素的名称当时是错误的,但是重命名它为时已晚。

从这里我们也已经弄清楚我们需要处理这个问题RedisQueueMessageDrivenEndpoint。并且由于它是 消息驱动的 ,自我管理的,因此我们不需要任何特殊的注释。足以将其声明为如下所示的bean:

@Bean
RedisQueueMessageDrivenEndpoint redisQueueMessageDrivenEndpoint(RedisConnectionFactory redisConnectionFactory, RedisSerializer<?> serializer) {
    RedisQueueMessageDrivenEndpoint endpoint =
                new RedisQueueMessageDrivenEndpoint("archive.post.publication.queue", redisConnectionFactory);
    endpoint.setOutputChannelName("postPublicationChannel");
    endpoint.setErrorChannelName("postPublicationLoggingChannel");
    endpoint.setReceiveTimeout(5000);
    endpoint.setSerializer(serializer);
    return endpoint;
}
Java 2022/1/1 18:22:06 有532人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶