Skip to content

Commit d42cf78

Browse files
Document Direct Reply-To for AMQP (#2358)
* Document Direct Reply-To for AMQP * Document Direct Reply-To usage for AMQP 1.0 (docs for rabbitmq/rabbitmq-server#14474) * Provide code examples how to use Direct Reply-To for AMQP 1.0 and AMQP 0.9.1. For now, only an example using the Erlang client is provided. Other clients will follow separately. * Provide a better description when to use and when NOT to use Direct Reply-To. * Add AMQP Java request/response direct reply-to example * Check requester is still connected in request/response example --------- Co-authored-by: Arnaud Cogoluègnes <[email protected]> Conflicts: docs/direct-reply-to.md
1 parent 27f03d3 commit d42cf78

File tree

1 file changed

+0
-39
lines changed

1 file changed

+0
-39
lines changed

docs/direct-reply-to.md

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -244,45 +244,6 @@ receive {amqp10_msg, ReceiverRequester, ReplyMsg} ->
244244
end.
245245
```
246246
</TabItem>
247-
<TabItem value="Go" label="Go">
248-
A complete example is available in the [tutorials repository](https://github.com/rabbitmq/rabbitmq-tutorials/blob/main/go/rpc_amqp10.go).
249-
```go
250-
// RPC client creates a receiver
251-
receiver, err := session.NewReceiver(ctx, "", &amqp.ReceiverOptions{
252-
SourceCapabilities: []string{"rabbitmq:volatile-queue"},
253-
SourceExpiryPolicy: amqp.ExpiryPolicyLinkDetach,
254-
DynamicAddress: true,
255-
RequestedSenderSettleMode: amqp.SenderSettleModeSettled.Ptr(),
256-
})
257-
258-
// RPC client uses the generated address when sending a request
259-
replyAddress := receiver.Address()
260-
requestMsg := &amqp.Message{
261-
Properties: &amqp.MessageProperties{
262-
MessageID: messageID,
263-
ReplyTo: &replyAddress,
264-
},
265-
Data: ...,
266-
}
267-
268-
// RPC server extracts the message ID and reply-to address
269-
270-
msg, _ := receiver.Receive(ctx, nil)
271-
_ = receiver.AcceptMessage(ctx, msg)
272-
messageID := msg.Properties.MessageID.(string)
273-
replyTo := *msg.Properties.ReplyTo
274-
275-
// RPC server uses the reply-to value and message ID in its response
276-
sender, _ := session.NewSender(ctx, replyTo, nil)
277-
278-
replyMsg := &amqp.Message{
279-
Properties: &amqp.MessageProperties{
280-
CorrelationID: messageID,
281-
},
282-
Data: ...,
283-
}
284-
```
285-
</TabItem>
286247
</Tabs>
287248

288249

0 commit comments

Comments
 (0)