Java Message Service 2.0 API használata Azure Service Bus Premiummal
Ez a cikk azt ismerteti, hogyan használhatja a népszerű Java Message Service (JMS) 2.0 API-t a Azure Service Bus az Advanced Message Queueing Protocol (AMQP 1.0) protokollon keresztüli interakcióhoz.
Megjegyzé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 a Azure Portal használatával. A Service Bus-névterek és -üzenetsorok létrehozásával kapcsolatos további információkért lásd: Ismerkedés a Service Bus-üzenetsorokkal a Azure Portal.
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 Javához az Azure-ban, használja ezt az útmutatót.
Milyen JMS-funkciók támogatottak?
Az alábbi táblázat azokat a Java Message Service- (JMS-) funkciókat sorolja fel, amelyeket jelenleg Azure Service Bus támogat. A nem támogatott funkciókat is megjeleníti.
Szolgáltatás | API | Állapot |
---|---|---|
Üzenetsorok |
|
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 |
Üzenetsor-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 megosztható tartós előfizetések |
A noLocal jelenleg nem támogatott, ezért false (hamis) értékre kell állítani |
Támogatott |
Megosztott, nem tartós előfizetések |
|
Támogatott |
Nem megosztható, nem tartós előfizetések |
A noLocal jelenleg nem támogatott, ezért false (hamis) értékre kell állítani |
Támogatott |
Üzenetválasztók | a létrehozott fogyasztótól függ | Támogatott |
Kézbesítési késleltetés (ü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.
Megjegyzé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 Azure Service Bus JMS használatával
Ha JMS-ügyfelek használatával szeretne csatlakozni Azure Service Bus, szüksége lesz az elsődleges kapcsolati sztring alatti Azure Portal "Megosztott hozzáférési szabályzatok" szakaszában elérhető kapcsolati sztring.
Példányosítsd a
ServiceBusJmsConnectionFactorySettings
ServiceBusJmsConnectionFactorySettings connFactorySettings = new ServiceBusJmsConnectionFactorySettings(); connFactorySettings.setConnectionIdleTimeoutMS(20000);
A példányosítása a
ServiceBusJmsConnectionFactory
megfelelővelServiceBusConnectionString
.String ServiceBusConnectionString = "<SERVICE_BUS_CONNECTION_STRING_WITH_MANAGE_PERMISSIONS>"; ConnectionFactory factory = new ServiceBusJmsConnectionFactory(ServiceBusConnectionString, connFactorySettings);
ConnectionFactory
A használatával vagy hozzon létre egyConnection
, majd egySession
Connection connection = factory.createConnection(); Session session = connection.createSession();
vagy a
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 vagy JMSContext
példányosítása Session
után az alkalmazás a jól ismert JMS API-kat használhatja a felügyeleti és 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 egy 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();
Összefoglalás
Ez az útmutató bemutatja, hogyan használhatják a Java-ügyfélalkalmazások a Java Message Service-t (JMS) AMQP 1.0-Azure Service Bus n keresztül.
A Service Bus AMQP 1.0-t más nyelvekről is használhatja, beleértve a .NET, a C, a Python és a PHP nyelveket is. Az e különböző nyelvek használatával létrehozott összetevők megbízhatóan és teljes hűség mellett válthatnak üzeneteket a Service Bus AMQP 1.0-támogatásával.
Következő lépések
A Java Message Service-entitásokkal (JMS) kapcsolatos Azure Service Bus és részletekért tekintse meg az alábbi hivatkozásokat :
- Service Bus – Üzenetsorok, témakörök és előfizetések
- Service Bus – Java Message Service-entitások
- AZ AMQP 1.0 támogatása Azure Service Bus
- Service Bus AMQP 1.0 fejlesztői útmutató
- Bevezetés a Service Bus által kezelt üzenetsorok használatába
- Java Message Service API (külső Oracle-dokumentum)
- Ismerje meg, hogyan migrálhat az ActiveMQ-ról a Service Busra