Java Message Service 2.0 API használata az Azure Service Bus Premium használatával
Ez a cikk bemutatja, hogyan használhatja a népszerű Java Message Service (JMS) 2.0 API-t az Azure Service Bus használatával az Advanced Message Queueing Protocol (AMQP) 1.0 protokollon keresztül.
Feljegyzés
A Java Message Service (JMS) 2.0 API támogatása csak a prémium szinten érhető el.>
Előfeltételek
A Service Bus használatának első lépései
Ez az útmutató feltételezi, hogy már rendelkezik Service Bus-névtérrel. Ha nem, hozzon létre egy névteret és egy üzenetsort az Azure Portal használatával. A Service Bus-névterek és üzenetsorok létrehozásával kapcsolatos további információkért tekintse meg a Service Bus-üzenetsorok használatának első lépéseit az Azure Portalon.
Java-fejlesztési környezet beállítása
Java-alkalmazások fejlesztéséhez be kell állítania a megfelelő fejlesztési környezetet –
- A JDK (Java Development Kit) vagy a JRE (Java Runtime Environment) telepítve van.
- A rendszer hozzáadja a JDK-t vagy a JRE-t a buildelési útvonalhoz és a megfelelő rendszerváltozókhoz.
- A JDK vagy a JRE használatához java IDE van telepítve. Például: Eclipse vagy IntelliJ.
Ha többet szeretne megtudni arról, hogyan készítheti elő a fejlesztői környezetet a Java-hoz az Azure-ban, használja ezt az útmutatót.
Milyen JMS-funkciók támogatottak?
Az alábbi táblázat az Azure Service Bus által jelenleg támogatott Java Message Service-funkciókat (JMS) sorolja fel. A nem támogatott funkciókat is megjeleníti.
Szolgáltatás | API | Állapot |
---|---|---|
Várólisták |
|
Támogatott |
Témakörök |
|
Támogatott |
Ideiglenes üzenetsorok |
|
Támogatott |
Ideiglenes témakörök |
|
Támogatott |
Üzenetkészítő / JMSProducer |
|
Támogatott |
Várólista-böngészők |
|
Támogatott |
Üzenet fogyasztója/ JMSConsumer |
a noLocal jelenleg nem támogatott |
Támogatott |
Megosztott tartós előfizetések |
|
Támogatott |
Nem tagolt tartós előfizetések |
a noLocal jelenleg nem támogatott, ezért hamis értékre kell állítani |
Támogatott |
Megosztott, nem tartós előfizetések |
|
Támogatott |
Nem tagolt, nem tartós előfizetések |
a noLocal jelenleg nem támogatott, ezért hamis értékre kell állítani |
Támogatott |
Üzenetválasztók | a létrehozott fogyasztótól függ | Támogatott |
Kézbesítés késleltetése (ütemezett üzenetek) |
|
Támogatott |
Üzenet létrehozva |
|
Támogatott |
Entitások közötti tranzakciók |
|
Támogatott |
Elosztott tranzakciók | Nem támogatott |
A Java Message Service (JMS) ügyfélkódtárának letöltése
A prémium szinten elérhető összes funkció használatához adja hozzá a következő kódtárat a projekt buildelési útvonalához: azure-servicebus-jms. Ez a csomag néhány szükséges alapértelmezett beállítást biztosít, például az előzetes szabályzatértékeket, az újracsatlakozási szabályzatokat, a Microsoft Entra-azonosítót és a felügyelt identitást.
Feljegyzés
Az azure-servicebus-jms buildelési útvonalhoz való hozzáadásához használja az előnyben részesített függőségkezelési eszközt a projekthez, például a Mavenhez vagy a Gradle-hez.
Java-alkalmazások kódolása
A függőségek importálása után a Java-alkalmazások JMS-szolgáltatói módon írhatók.
Csatlakozás az Azure Service Bushoz JMS használatával
Ha JMS-ügyfelekkel szeretne csatlakozni az Azure Service Bushoz, szüksége van az Elsődleges kapcsolati sztring alatti Azure Portal megosztott hozzáférési szabályzataiban elérhető kapcsolati sztring.
Példányosítsd a
ServiceBusJmsConnectionFactorySettings
ServiceBusJmsConnectionFactorySettings connFactorySettings = new ServiceBusJmsConnectionFactorySettings(); connFactorySettings.setConnectionIdleTimeoutMS(20000);
Példányosítsd a
ServiceBusJmsConnectionFactory
megfelelőServiceBusConnectionString
.String ServiceBusConnectionString = "<SERVICE_BUS_CONNECTION_STRING_WITH_MANAGE_PERMISSIONS>"; ConnectionFactory factory = new ServiceBusJmsConnectionFactory(ServiceBusConnectionString, connFactorySettings);
A következővel
ConnectionFactory
hozhat létre egyConnection
, majd egySession
Connection connection = factory.createConnection(); Session session = connection.createSession();
vagy (
JMSContext
JMS 2.0-ügyfelek esetén)JMSContext jmsContext = factory.createContext();
Fontos
Bár hasonlóan elnevezett, a JMS "Session" és a Service Bus "Session" teljesen független egymástól.
A JMS 1.1-ben a Munkamenet az API alapvető építőeleme, amely lehetővé teszi a ,
MessageConsumer
és önmagánakMessage
aMessageProducer
létrehozását. További részletekért tekintse át a JMS API programozási modelljétA Service Busban a munkamenetek szolgáltatás- és ügyféloldali szerkezetek, amelyek lehetővé teszik a FIFO-feldolgozást az üzenetsorokon és az előfizetéseken.
A JMS-alkalmazás írása
A példányosítást követően az Session
JMSContext
alkalmazás a jól ismert JMS API-kat használhatja mind a felügyeleti, mind az adatműveletek végrehajtásához. A támogatott JMS-funkciók listájában megtekintheti, hogy mely API-k támogatottak. Íme néhány mintakódrészlet a JMS használatának megkezdéséhez –
Üzenetek küldése üzenetsorba és témakörbe
// Create the queue and topic
Queue queue = jmsContext.createQueue("basicQueue");
Topic topic = jmsContext.createTopic("basicTopic");
// Create the message
Message msg = jmsContext.createMessage();
// Create the JMS message producer
JMSProducer producer = jmsContext.createProducer();
// send the message to the queue
producer.send(queue, msg);
// send the message to the topic
producer.send(topic, msg);
Üzenetek fogadása üzenetsorból
// Create the queue
Queue queue = jmsContext.createQueue("basicQueue");
// Create the message consumer
JMSConsumer consumer = jmsContext.createConsumer(queue);
// Receive the message
Message msg = (Message) consumer.receive();
Üzenetek fogadása megosztott tartós előfizetésből egy témakörben
// Create the topic
Topic topic = jmsContext.createTopic("basicTopic");
// Create a shared durable subscriber on the topic
JMSConsumer sharedDurableConsumer = jmsContext.createSharedDurableConsumer(topic, "sharedDurableConsumer");
// Receive the message
Message msg = (Message) sharedDurableConsumer.receive();
Összegzés
Ez az útmutató bemutatja, hogyan használhatják a Java-ügyfélalkalmazások a Java Message Service-t (JMS) AMQP 1.0-n keresztül.
A Service Bus AMQP 1.0-t más nyelvekről is használhatja, például .NET, C, Python és PHP nyelven. Az e különböző nyelvek használatával létrehozott összetevők megbízhatóan és teljes hűségben cserélhetik az üzeneteket a Service Bus AMQP 1.0-támogatásával.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: