跳到主要内容

入站网关

QWen Plus 中英对照 Inbound Gateway

入站网关支持入站通道适配器的所有属性(除了'channel'被'request-channel'取代之外),以及一些附加属性。以下列表显示了可用的属性:

@Bean // return the upper-cased payload
public IntegrationFlow amqpInboundGateway(ConnectionFactory connectionFactory) {
return IntegrationFlow.from(Amqp.inboundGateway(connectionFactory, "foo"))
.transform(String.class, String::toUpperCase)
.get();
}
java
  • 此适配器的唯一 ID。可选。

  • 转换后的消息发送到的消息通道。必填。

  • 在接收 AMQP 消息时使用的 AmqpHeaderMapper 的引用。可选。默认情况下,只有标准的 AMQP 属性(如 contentType)会被复制到 Spring Integration MessageHeaders 中。AMQP MessageProperties 中任何用户定义的头信息都不会被默认的 DefaultAmqpHeaderMapper 复制到或从 AMQP 消息中复制。如果提供了 'request-header-names' 或 'reply-header-names',则不允许此选项。

  • 从 AMQP 请求映射到 MessageHeaders 的 AMQP 头名称的逗号分隔列表。仅在未提供 'header-mapper' 引用的情况下可以提供此属性。此列表中的值也可以是与头名称匹配的简单模式(例如 "*""thing1*, thing2""*thing1")。

  • 映射到 AMQP 回复消息的 AMQP 消息属性中的 MessageHeaders 名称的逗号分隔列表。所有标准头(如 contentType)都会映射到 AMQP 消息属性,而用户定义的头会映射到 'headers' 属性。仅在未提供 'header-mapper' 引用的情况下可以提供此属性。此列表中的值也可以是与头名称匹配的简单模式(例如 "*""foo*, bar""*foo")。

  • 期望回复消息的消息通道。可选。

  • 设置底层 o.s.i.core.MessagingTemplatereceiveTimeout,用于从回复通道接收消息。如果未指定,默认为 1000 (1 秒)。仅当容器线程在回复发送之前将任务交给另一个线程时才适用。

  • 自定义的 AmqpTemplate bean 引用(以对要发送的回复消息进行更多控制)。您可以为 RabbitTemplate 提供替代实现。

  • requestMessage 没有 replyTo 属性时使用的 o.s.amqp.core.AddressreplyTo。如果未指定此选项,并且没有提供 amqp-template,请求消息中也没有 replyTo 属性,则会抛出 IllegalStateException,因为无法路由回复。如果未指定此选项并且提供了外部 amqp-template,则不会抛出异常。您必须指定此选项或在该模板上配置默认的 exchangeroutingKey,如果您预计请求消息中有时不存在 replyTo 属性的情况。

参见 入站通道适配器 中关于配置 listener-container 属性的说明。

从 5.5 版本开始,AmqpInboundChannelAdapter 可以配置一个 org.springframework.amqp.rabbit.retry.MessageRecoverer 策略,在重试操作内部调用时,该策略会在 RecoveryCallback 中使用。更多信息请参阅 setMessageRecoverer() 的 JavaDocs。

批量消息