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.

Note:

  • The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.
  • The name of an exchange cannot be changed after the exchange is created. To change the name, delete the exchange and create a new one.

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:

  • DIRECT: This routing rule type routes messages to a queue whose binding key exactly matches the routing key of the message.
  • TOPIC: This type is similar to the DIRECT type. It routes messages to bound queues using routing key pattern matching and string comparison.
  • FANOUT: This routing rule type is simple. It routes all messages sent to the exchange to all queues that are bound to the exchange. This works like a broadcast feature.
  • HEADERS: This type is similar to the DIRECT type. It uses header properties instead of a routing key for routing. When a queue is bound to a headers exchange, key-value pairs are defined for the binding. When a message is sent to the exchange, key-value pairs are defined in the message header. The exchange routes the message by comparing the key-value pairs in the header with the key-value pairs of the binding.

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.