Skip to content

Commit af261fd

Browse files
committed
docs: add KafkaAsyncChannelBinding
1 parent 42348f3 commit af261fd

File tree

1 file changed

+38
-54
lines changed

1 file changed

+38
-54
lines changed

docs/configuration/documenting-bindings.md

Lines changed: 38 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -9,63 +9,23 @@ Add at least one binding so that readers know the protocol in use and functional
99

1010
To use the protocol specific bindings, ensure that you have added the corresponding [plugin](../introduction/supported-protocols.md).
1111

12-
## Protocol specific annotations
12+
## Operation binding
1313

14-
### `@AmqpAsyncOperationBinding`
14+
Operation bindings describe protocol-specific information for the specific action (publish or subscribe).
15+
See [operation-binding] for details.
1516

16-
Associate this operation with AMQP, see [operation-binding] for details.
17+
Supported protocol specific bindings:
1718

18-
```java
19-
@AmqpAsyncOperationBinding(cc = "example-topic-routing-key")
20-
```
21-
22-
### `@KafkaAsyncOperationBinding`
23-
24-
Associate this operation with Kafka, see [operation-binding] for details.
25-
26-
```java
27-
@KafkaAsyncOperationBinding(
28-
bindingVersion = "1"
29-
)
30-
```
31-
32-
### `@JmsAsyncOperationBinding`
33-
34-
Associate this operation with JMS, see [operation-binding] for details.
35-
36-
```java
37-
@JmsAsyncOperationBinding
38-
```
39-
40-
### `@SnsAsyncOperationBinding`
41-
42-
Associate this operation with SNS, see [operation-binding] for details.
43-
44-
```java
45-
@SnsAsyncOperationBinding
46-
```
47-
48-
### `@SqsAsyncOperationBinding`
19+
- `@AmqpAsyncOperationBinding`
20+
- `@KafkaAsyncOperationBinding`
21+
- `@JmsAsyncOperationBinding`
22+
- `@SnsAsyncOperationBinding`
23+
- `@SqsAsyncOperationBinding`
24+
- `@StompAsyncOperationBinding`
4925

50-
Associate this operation with SQS, see [operation-binding] for details.
26+
### Generic annotation
5127

52-
```java
53-
@SqsAsyncOperationBinding
54-
```
55-
56-
### `@StompAsyncOperationBinding`
57-
58-
Associate this operation with STOMP (WebSocket), see [operation-binding] for details.
59-
60-
```java
61-
@StompAsyncOperationBinding
62-
```
63-
64-
## Generic annotation
65-
66-
This binding is generic, so that any properties can be specified.
67-
68-
### `@AsyncGenericOperationBinding`
28+
For custom protocols or properties, use the generic binding.
6929

7030
You can define anything and there is no validation.
7131

@@ -83,6 +43,16 @@ You can define anything and there is no validation.
8343
See [Add-Ons / Generic Annotation Binding](../introduction/add-ons.mdx#generic-binding) for more information
8444
:::
8545

46+
## Channel binding
47+
48+
Channel bindings describe protocol-specific information for the channel (topic, queue, etc).
49+
See [channel-binding] for details.
50+
51+
Supported protocol specific bindings:
52+
53+
- `@KafkaAsyncChannelBinding`
54+
- `@GooglePubSubAsyncChannelBinding`
55+
8656
## Binding properties
8757

8858
Explanation of the different binding properties.
@@ -113,6 +83,21 @@ The `kafka` header `__TypeId__` (constant from `AbstractJavaTypeMapper.DEFAULT_C
11383

11484
### AMQP
11585

86+
Channel Binding Object:
87+
88+
```java
89+
@KafkaAsyncChannelBinding(
90+
partitions = 3,
91+
replicas = 1,
92+
topicConfiguration =
93+
@KafkaAsyncChannelBinding.KafkaChannelTopicConfiguration(
94+
cleanup = {CleanupPolicy.COMPACT, CleanupPolicy.DELETE},
95+
retentionMs = 86400000L,
96+
retentionBytes = -1L,
97+
deleteRetentionMs = 86400000L,
98+
maxMessageBytes = 1048588))
99+
```
100+
116101
#### Exchange Name
117102

118103
The exchange name that will be used to bind queues to.
@@ -133,8 +118,6 @@ The client id to identify the consumer
133118

134119
### Google PubSub
135120

136-
#### Channel Binding Object
137-
138121
The Channel Bindings Object is used to describe the Google Cloud Pub/Sub Topic details.
139122

140123
```java
@@ -180,3 +163,4 @@ The Message Binding Object is used to describe the Google Cloud Pub/Sub PubsubMe
180163
- name: The name of the schema
181164

182165
[operation-binding]: https://www.asyncapi.com/docs/reference/specification/v3.0.0#operationBindingsObject
166+
[channel-binding]: https://www.asyncapi.com/docs/reference/specification/v3.0.0#channelBindingsObject

0 commit comments

Comments
 (0)