Exchange
This class encapsulates and extends the ROS resource type ALIYUN::AMQP::Exchange
, which is used to create an exchange.
Initializers
import com.aliyun.ros.cdk.amqp.Exchange;
Exchange.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
.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();
Name | Type | Description |
---|---|---|
scope |
com.aliyun.ros.cdk.core.Construct |
No description. |
id |
java.lang.String |
No description. |
enableResourcePropertyConstraint |
java.lang.Boolean |
No 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. |
scope
Required
- Type: com.aliyun.ros.cdk.core.Construct
id
Required
- Type: java.lang.String
enableResourcePropertyConstraint
Optional
- Type: java.lang.Boolean
autoDeleteState
Required
- 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.
exchangeName
Required
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property exchangeName: The name of the exchange.
exchangeType
Required
- 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.
instanceId
Required
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property instanceId: InstanceId.
internal
Required
- 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.
virtualHost
Required
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property virtualHost: The name of the virtual host.
alternateExchange
Optional
- 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.
xDelayedType
Optional
- 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.
Methods
Name | Description |
---|---|
toString |
Returns a string representation of this construct. |
synthesize |
Allows this construct to emit artifacts into the cloud assembly during synthesis. |
addCondition |
No description. |
addCount |
No description. |
addDependency |
No description. |
addResourceDesc |
No description. |
applyRemovalPolicy |
No description. |
getAtt |
No description. |
setMetadata |
No description. |
toString
public java.lang.String toString()
Returns a string representation of this construct.
synthesize
public void synthesize(ISynthesisSession session)
Allows this construct to emit artifacts into the cloud assembly during synthesis.
This method is usually implemented by framework-level constructs such as Stack
and Asset
as they participate in synthesizing the cloud assembly.
- Type: com.aliyun.ros.cdk.core.ISynthesisSession
The synthesis session.
addCondition
public void addCondition(RosCondition condition)
- Type: com.aliyun.ros.cdk.core.RosCondition
addCount
public void addCount(java.lang.Number OR IResolvable count)
- Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable
addDependency
public void addDependency(Resource resource)
- Type: com.aliyun.ros.cdk.core.Resource
addResourceDesc
public void addResourceDesc(java.lang.String desc)
- Type: java.lang.String
applyRemovalPolicy
public void applyRemovalPolicy(RemovalPolicy policy)
- Type: com.aliyun.ros.cdk.core.RemovalPolicy
getAtt
public IResolvable getAtt(java.lang.String name)
- Type: java.lang.String
setMetadata
public void setMetadata(java.lang.String key, java.lang.Object value)
- Type: java.lang.String
- Type: java.lang.Object
Static Functions
Name | Description |
---|---|
isConstruct |
Return whether the given object is a Construct. |
isConstruct
import com.aliyun.ros.cdk.amqp.Exchange;
Exchange.isConstruct(java.lang.Object x)
Return whether the given object is a Construct.
- Type: java.lang.Object
Properties
Name | Type | Description |
---|---|---|
node |
com.aliyun.ros.cdk.core.ConstructNode |
The construct tree node associated with this construct. |
ref |
java.lang.String |
No description. |
stack |
com.aliyun.ros.cdk.core.Stack |
The stack in which this resource is defined. |
resource |
com.aliyun.ros.cdk.core.RosResource |
No description. |
attrExchangeName |
com.aliyun.ros.cdk.core.IResolvable |
Attribute ExchangeName: The name of the exchange. |
node
Required
public ConstructNode getNode();
- Type: com.aliyun.ros.cdk.core.ConstructNode
The construct tree node associated with this construct.
ref
Required
public java.lang.String getRef();
- Type: java.lang.String
stack
Required
public Stack getStack();
- Type: com.aliyun.ros.cdk.core.Stack
The stack in which this resource is defined.
resource
Optional
public RosResource getResource();
- Type: com.aliyun.ros.cdk.core.RosResource
attrExchangeName
Required
public IResolvable getAttrExchangeName();
- Type: com.aliyun.ros.cdk.core.IResolvable
Attribute ExchangeName: The name of the exchange.