Azure Service Bus Java: ใช้ AMQP ผ่าน WebSockets กับพร็อกซี
กำหนดค่าไคลเอนต์การรับส่งข้อความ Java ของ Azure Service Bus ให้ใช้ AMQP ผ่าน WebSockets พร้อมการตั้งค่าพร็อกซีของไลบรารี AMQP
ไคลเอนต์การรับส่งข้อความ Java สมัยใหม่ของ Azure Service Bus ใช้ AMQP ตัวสร้างของไคลเอนต์ต้องใช้ AMQP_WEB_SOCKETS เมื่อมีการกำหนดค่าพร็อกซี
ด้วย azure-messaging-servicebus 7.18.0 สร้างตัวส่งดังนี้:
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();
ตัวแปรของบัญชีจะตรวจสอบสิทธิ์กับพร็อกซีที่รับ Basic สตริงการเชื่อมต่อและชื่อคิวยังคงระบุทรัพยากร Service Bus เก็บตัวส่งที่สร้างไว้ตลอดอายุการใช้งานที่ตั้งใจไว้ และปิดเมื่อแอปพลิเคชันใช้งานเสร็จ
ใช้ com.azure.core.amqp.ProxyOptions ที่นี่ สแตก HTTP ของ Azure มีคลาสตัวเลือกพร็อกซีอีกคลาสที่ชื่อคล้ายกัน แต่ไม่ใช่ชนิดที่ตัวสร้างนี้ยอมรับ
การตั้งค่านี้กำหนดการเชื่อมต่อการรับส่งข้อความ แอปพลิเคชันที่ใช้ข้อมูลรับรองตัวตนซึ่งสร้างขึ้นแยกต่างหากอาจต้องกำหนดค่าการขนส่ง HTTP ของโทเค็นของข้อมูลรับรองนั้นด้วย
ตัวอย่าง Azure SDK 0.9 เก่า ๆ อ้างถึงไคลเอนต์อีกรุ่นหนึ่ง อย่าสรุปว่าค่าคงที่การกำหนดค่าหรือคุณสมบัติ HTTP ทั่วไปของมันอธิบายตัวสร้าง AMQP สมัยใหม่