Azure Service Bus Java: dùng AMQP qua WebSockets với proxy
Cấu hình ứng dụng khách nhắn tin Java của Azure Service Bus dùng AMQP qua WebSockets cùng các thiết lập proxy của thư viện AMQP.
Ứng dụng khách nhắn tin Java hiện đại của Azure Service Bus dùng AMQP. Trình tạo của nó yêu cầu AMQP_WEB_SOCKETS khi có proxy được cấu hình.
Với azure-messaging-servicebus 7.18.0, hãy tạo trình gửi như sau:
var address = new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080));
var proxy = new com.azure.core.amqp.ProxyOptions(
com.azure.core.amqp.ProxyAuthenticationType.BASIC,
address, proxyUser, proxyPassword);
var sender = new com.azure.messaging.servicebus.ServiceBusClientBuilder()
.connectionString(serviceBusConnectionString)
.transportType(com.azure.core.amqp.AmqpTransportType.AMQP_WEB_SOCKETS)
.proxyOptions(proxy)
.sender()
.queueName(queueName)
.buildClient();
Các biến tài khoản xác thực với proxy chấp nhận Basic. Chuỗi kết nối và tên hàng đợi vẫn xác định tài nguyên Service Bus. Giữ trình gửi trong suốt vòng đời dự kiến và đóng nó khi ứng dụng dùng xong.
Hãy dùng com.azure.core.amqp.ProxyOptions ở đây. Ngăn xếp HTTP của Azure có một lớp tùy chọn proxy khác tên tương tự; đó không phải kiểu mà trình tạo này chấp nhận.
Điều này cấu hình kết nối nhắn tin. Ứng dụng dùng thông tin xác thực danh tính được tạo độc lập cũng có thể cần cấu hình vận chuyển HTTP của mã thông báo cho thông tin xác thực đó.
Các ví dụ Azure SDK 0.9 cũ đề cập đến một thế hệ ứng dụng khách khác. Đừng suy ra rằng các hằng số cấu hình hoặc thuộc tính HTTP chung của nó mô tả trình tạo AMQP hiện đại.