Spring integration redisQueueInboundGateway.setReplyChannelName的用途是什么
只想问一下redisQueueInboundGateway.setReplyChannelName用于什么 我得到了一个日志B和一个日志 1.我的问题是,当我将日志C设置为RedisQueueInboundGateway时,它将在什么情况下打印Spring integration redisQueueInboundGateway.setReplyChannelName的用途是什么,spring-integration,Spring Integration,只想问一下redisQueueInboundGateway.setReplyChannelName用于什么 我得到了一个日志B和一个日志 1.我的问题是,当我将日志C设置为RedisQueueInboundGateway时,它将在什么情况下打印 “中的文档”https://docs.spring.io/spring-integration/reference/html/redis.html#redis-“队列入站网关”的类名和类解释似乎不正确,例如: 2.1“RedisPublishingMes
@GetMapping("test")
public void test() {
this.teller.test("testing 1");
@Gateway(requestChannel = "inputA")
void test(String transaction);
@Bean("A")
PublishSubscribeChannel getA() {
return new PublishSubscribeChannel();
}
@Bean("B")
PublishSubscribeChannel getB() {
return new PublishSubscribeChannel();
}
@Bean("C")
PublishSubscribeChannel getC() {
return new PublishSubscribeChannel();
}
@ServiceActivator(inputChannel = "A")
void aTesting(Message message) {
System.out.println("A");
System.out.println(message);
}
@ServiceActivator(inputChannel = "B")
String bTesting(Message message) {
System.out.println("B");
System.out.println(message);
return message.getPayload() + "Basdfasdfasdfadsfasdf";
}
@ServiceActivator(inputChannel = "C")
void cTesting(Message message) {
System.out.println("C");
System.out.println(message);
}
@ServiceActivator(inputChannel = "inputA")
@Bean
RedisQueueOutboundGateway getRedisQueueOutboundGateway(RedisConnectionFactory connectionFactory) {
val redisQueueOutboundGateway = new RedisQueueOutboundGateway(Teller.CHANNEL_CREATE_INVOICE, connectionFactory);
redisQueueOutboundGateway.setReceiveTimeout(5);
redisQueueOutboundGateway.setOutputChannelName("A");
redisQueueOutboundGateway.setSerializer(new GenericJackson2JsonRedisSerializer(new ObjectMapper()));
return redisQueueOutboundGateway;
}
@Bean
RedisQueueInboundGateway getRedisQueueInboundGateway(RedisConnectionFactory connectionFactory) {
val redisQueueInboundGateway = new RedisQueueInboundGateway(Teller.CHANNEL_CREATE_INVOICE, connectionFactory);
redisQueueInboundGateway.setReceiveTimeout(5);
redisQueueInboundGateway.setRequestChannelName("B");
redisQueueInboundGateway.setReplyChannelName("C");
redisQueueInboundGateway.setSerializer(new GenericJackson2JsonRedisSerializer(new ObjectMapper()));
return redisQueueInboundGateway;
}
你的担心还不清楚 2.1 有一个组件(模式名),后台有一个类覆盖逻辑。 有时它们是不一样的 因此,
Redis出站通道适配器
被RedisPublishingMessageHandler
覆盖,这仅仅是因为有一个ConsumerdPointFactoryBean
来消费来自输入通道的消息,并有RedisPublishingMessageHandler
来处理它们。换句话说,该框架创建了两个bean,以使这样的Redis交互工作。事实上,所有出站通道适配器(网关)的处理方式都是相同的:端点加处理程序。它们一起被称为适配器
或网关
,具体取决于交互的类型
2.2
我在文件中没有看到这样的误导
2.3
那不是真的。
见区别:
SpringIntegration引入了Redis队列出站网关来执行请求和应答场景。它将会话UUID推送到提供的队列
SpringIntegration4.1引入了Redis队列入站网关来执行请求和应答场景。它从提供的队列中弹出一个会话UUID
所有入站网关都提供了一个可选的replyChannel
,用于跟踪回复。它不是这种类型的网关要发送东西的地方。它完全相反:这个入站网关将通过一个回复通道将回复消息发送回Redis。入站网关由外部启动。在我们的例子中,作为配置的Redis列表中的请求消息。当集成流执行其工作时,它会向该网关发送一条回复消息。在大多数情况下,它是使用消息中的replyChannel
头自动完成的。但是,如果要跟踪该回复,可以在入站网关上添加一个PublishSubscribeChannel
作为replyChannel
选项,并且service activator和网关都会收到相同的消息
replyChannel
选项背后的行为在消息网关一章中进行了说明:
您可能在文档中对该部分的理解是正确的,而那些requestChannel
和replyChannel
实际上是出站网关部分文本的副本。这必须得到解决。请随意提出GH问题,这样我们就不会忘记解决它
当您将消息发送到
C
频道时,将打印C日志,但同样:如果您想使Redis入站网关的回复关联工作,它必须作为PublishSubscribeChannel
。否则,只需忽略它,您的字符串b测试(消息消息){
将其结果发送到回复频道
标题。您的问题不清楚
2.1
有一个组件(模式名),后台有一个类覆盖逻辑。
有时它们是不一样的
因此,Redis Outbound Channel Adapter
被RedisPublishingMessageHandler
覆盖,这仅仅是因为有一个ConsumerdPointFactoryBean
来消费来自输入通道的消息,并有RedisPublishingMessageHandler
来处理它们。换句话说,框架创建两个bean来生成这样一个Red交互工作正常。事实上,所有出站通道适配器(网关)的处理方式都是相同的:端点加处理程序。根据交互的类型,它们一起被称为adapter
或gateway
2.2
我在文件中没有看到这样的误导
2.3
那不是真的。
见区别:
Spring Integration引入了Redis队列出站网关来执行请求和应答场景。它将会话UUID推送到提供的队列
SpringIntegration4.1引入了Redis队列入站网关来执行请求和应答场景。它从提供的队列中弹出一个会话UUID
所有入站网关都提供了一个可选的replyChannel
来跟踪回复。这不是此类网关将要发送内容的位置。它完全相反:此入站网关将使用回复通道将回复消息发送回Redis。入站网关是从外部启动的。在我们的例子中,作为配置的Redis列表中的请求消息。当Integration flow执行其工作时,它会向该网关发送一条回复消息。在大多数情况下,它是使用消息中的replyChannel
头自动完成的。但是如果您想跟踪该回复,可以添加PublishSubscribeChannel
,作为入站网关上的replyChannel
选项,您的service activator和网关都会收到相同的消息
replyChannel
选项背后的行为在消息网关一章中进行了说明:
您可能在文档中对这一部分的看法是正确的,而那些requestChannel
和replyChannel
实际上是出站网关部分文本的副本。这一点必须得到解决。请随时提出GH问题,这样我们就不会忘记解决它
<