Skip to content

ExchangeProps

Properties for defining a Exchange.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-amqp-exchange

Initializer

import com.aliyun.ros.cdk.amqp.ExchangeProps;
ExchangeProps.builder()
    .autoDeleteState(java.lang.Boolean)
    .autoDeleteState(IResolvable)
    .exchangeName(java.lang.String)
    .exchangeName(IResolvable)
    .exchangeType(java.lang.String)
    .exchangeType(IResolvable)
    .instanceId(java.lang.String)
    .instanceId(IResolvable)
    .internal(java.lang.Boolean)
    .internal(IResolvable)
    .virtualHost(java.lang.String)
    .virtualHost(IResolvable)
//  .alternateExchange(java.lang.String)
//  .alternateExchange(IResolvable)
//  .xDelayedType(java.lang.String)
//  .xDelayedType(IResolvable)
    .build();

Properties

Name Type Description
autoDeleteState java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property autoDeleteState: Specifies whether the Auto Delete attribute is configured.
exchangeName java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property exchangeName: The name of the exchange.
exchangeType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property exchangeType: The type of the exchange.
instanceId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property instanceId: InstanceId.
internal java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property internal: Specifies whether an exchange is an internal exchange.
virtualHost java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property virtualHost: The name of the virtual host.
alternateExchange java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property alternateExchange: The alternate exchange.
xDelayedType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property xDelayedType: Exchanges of the x-delay-Message type allow you to customize the Header property of the message, and the x-delay specifies the amount of time in milliseconds for the message to be delivered.

autoDeleteStateRequired

public java.lang.Object getAutoDeleteState();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property autoDeleteState: Specifies whether the Auto Delete attribute is configured.

Valid values: true: The Auto Delete attribute is configured. If the last queue that is bound to an exchange is unbound, the exchange is automatically deleted. false: The Auto Delete attribute is not configured. If the last queue that is bound to an exchange is unbound, the exchange is not automatically deleted.


exchangeNameRequired

public java.lang.Object getExchangeName();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property exchangeName: The name of the exchange.


exchangeTypeRequired

public java.lang.Object getExchangeType();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property exchangeType: The type of the exchange.

Valid values: FANOUT: An exchange of this type routes all the received messages to all the queues bound to this exchange. You can use a fanout exchange to broadcast messages. DIRECT: An exchange of this type routes a message to the queue whose binding key is exactly the same as the routing key of the message. TOPIC: This type is similar to the direct exchange type. An exchange of this type routes a message to one or more queues based on the fuzzy match or multi-condition match result between the routing key of the message and the binding keys of the current exchange. HEADERS: Headers Exchange uses the Headers property instead of Routing Key for routing matching. When binding Headers Exchange and Queue, set the key-value pair of the binding property; when sending a message to the Headers Exchange, set the message's Headers property key-value pair and use the message Headers The message is routed to the bound Queue by comparing the attribute key-value pair and the bound attribute key-value pair.


instanceIdRequired

public java.lang.Object getInstanceId();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property instanceId: InstanceId.


internalRequired

public java.lang.Object getInternal();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property internal: Specifies whether an exchange is an internal exchange.

Valid values: false: The exchange is not an internal exchange. true: The exchange is an internal exchange.


virtualHostRequired

public java.lang.Object getVirtualHost();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property virtualHost: The name of the virtual host.


alternateExchangeOptional

public java.lang.Object getAlternateExchange();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property alternateExchange: The alternate exchange.

An alternate exchange is configured for an existing exchange. It is used to receive messages that fail to be routed to queues from the existing exchange.


xDelayedTypeOptional

public java.lang.Object getXDelayedType();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property xDelayedType: Exchanges of the x-delay-Message type allow you to customize the Header property of the message, and the x-delay specifies the amount of time in milliseconds for the message to be delivered.

The routing rules for this class of exchanges depend on the Exchange type specified in the x-delay-type parameter, which specifies the actual Exchange type to which the delayed message will eventually be delivered. Valid values:

  • DIRECT: Delivers deferred messages to a specified queue bound to an Exchange of type DIRECT.
  • TOPIC: Delivers deferred messages to the queue bound to the Exchange type TOPIC.

  • FANOUT: Delivers deferred messages to a queue bound to an Exchange of type FANOUT.

  • HEADERS: Deferred messages are delivered to the queue bound to the Exchange HEADERS type.

  • X-JMS-TOPIC: Delivers deferred messages to the queue bound to X-JMS-TOPIC.