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 המודרני.