Skip to content

Commit 3903cc8

Browse files
authored
docs: add KafkaAsyncChannelBinding (#108)
1 parent 42348f3 commit 3903cc8

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.
@@ -123,6 +93,21 @@ The routing key used when publishing a message.
12393

12494
### Kafka
12595

96+
Channel Binding Object:
97+
98+
```java
99+
@KafkaAsyncChannelBinding(
100+
partitions = 3,
101+
replicas = 1,
102+
topicConfiguration =
103+
@KafkaAsyncChannelBinding.KafkaChannelTopicConfiguration(
104+
cleanup = {CleanupPolicy.COMPACT, CleanupPolicy.DELETE},
105+
retentionMs = 86400000L,
106+
retentionBytes = -1L,
107+
deleteRetentionMs = 86400000L,
108+
maxMessageBytes = 1048588))
109+
```
110+
126111
#### Group Id
127112

128113
The group id that will be used during message consumption
@@ -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)