Använda Java Message Service 2.0 API med Azure Service Bus Premium
Den här artikeln beskriver hur du använder det populära Java Message Service (JMS) 2.0-API:et för att interagera med Azure Service Bus över PROTOKOLLET ADVANCED Message Queueing Protocol (AMQP 1.0).
Anteckning
Stöd för Java Message Service (JMS) 2.0 API är endast tillgängligt på premiumnivån.>
Förutsättningar
Kom igång med Service Bus
Den här guiden förutsätter att du redan har ett Service Bus-namnområde. Om du inte gör det skapar du ett namnområde och en kö med hjälp av Azure Portal. Mer information om hur du skapar Service Bus-namnområden och köer finns i Komma igång med Service Bus-köer via Azure Portal.
Konfigurera en Java Development-miljö
För att utveckla Java-program måste du konfigurera lämplig utvecklingsmiljö –
- Antingen är JDK (Java Development Kit) eller JRE (Java Runtime Environment) installerat.
- JDK eller JRE läggs till i byggsökvägen och lämpliga systemvariabler.
- En Java IDE installeras för att använda JDK eller JRE. Till exempel Eclipse eller IntelliJ.
Om du vill veta mer om hur du förbereder utvecklarmiljön för Java i Azure kan du använda den här guiden.
Vilka JMS-funktioner stöds?
I följande tabell visas de JMS-funktioner (Java Message Service) som Azure Service Bus stöder för närvarande. Den visar även funktioner som inte stöds.
Funktion | API | Status |
---|---|---|
Köer |
|
Stöds |
Ämnen |
|
Stöds |
Tillfälliga köer |
|
Stöds |
Tillfälliga ämnen |
|
Stöds |
Meddelandeproducent/ JMSProducer |
|
Stöds |
Köwebbläsare |
|
Stöds |
Meddelandekonsument/ JMSConsumer |
noLocal stöds inte för närvarande |
Stöds |
Delade varaktiga prenumerationer |
|
Stöds |
Ej delade varaktiga prenumerationer |
noLocal stöds för närvarande inte och bör anges till false |
Stöds |
Delade icke-varaktiga prenumerationer |
|
Stöds |
Ej delade icke-varaktiga prenumerationer |
noLocal stöds för närvarande inte och bör anges till false |
Stöds |
Meddelandeväljare | beror på vilken konsument som skapats | Stöds |
Leveransfördröjning (schemalagda meddelanden) |
|
Stöds |
Meddelande har skapats |
|
Stöds |
Transaktioner mellan entiteter |
|
Stöds |
Distribuerade transaktioner | Stöds inte |
Ladda ned JMS-klientbiblioteket (Java Message Service)
Om du vill använda alla tillgängliga funktioner på premiumnivån lägger du till följande bibliotek i projektets byggsökväg.
Anteckning
Om du vill lägga till Azure-servicebus-jms i byggsökvägen använder du det önskade beroendehanteringsverktyget för projektet, till exempel Maven eller Gradle.
Koda Java-program
När beroendena har importerats kan Java-programmen skrivas på ett JMS-providerberoende sätt.
Ansluta till Azure Service Bus med JMS
För att ansluta med Azure Service Bus med JMS-klienter behöver du anslutningssträngen som är tillgänglig i principerna för delad åtkomst i Azure Portal under Primär anslutningssträng.
Instansiera
ServiceBusJmsConnectionFactorySettings
ServiceBusJmsConnectionFactorySettings connFactorySettings = new ServiceBusJmsConnectionFactorySettings(); connFactorySettings.setConnectionIdleTimeoutMS(20000);
Instansiera
ServiceBusJmsConnectionFactory
med lämpligServiceBusConnectionString
.String ServiceBusConnectionString = "<SERVICE_BUS_CONNECTION_STRING_WITH_MANAGE_PERMISSIONS>"; ConnectionFactory factory = new ServiceBusJmsConnectionFactory(ServiceBusConnectionString, connFactorySettings);
ConnectionFactory
Använd för att antingen skapa enConnection
och sedan enSession
Connection connection = factory.createConnection(); Session session = connection.createSession();
eller a
JMSContext
(för JMS 2.0-klienter)JMSContext jmsContext = factory.createContext();
Viktigt
Även om den heter på samma sätt är en JMS-session och Service Bus-session helt oberoende av varandra.
I JMS 1.1 är Session en viktig byggsten i API:et som gör det möjligt att skapa
MessageProducer
,MessageConsumer
och sigMessage
själv. Mer information finns i programmeringsmodellen för JMS APII Service Bus skapas sessioner på tjänst- och klientsidan för att aktivera FIFO-bearbetning i köer och prenumerationer.
Skriva JMS-programmet
Session
När eller JMSContext
har instansierats kan ditt program använda de välbekanta JMS-API:erna för att utföra både hanterings- och dataåtgärder. Se listan över JMS-funktioner som stöds för att se vilka API:er som stöds. Här följer några exempelkodfragment för att komma igång med JMS –
Skicka meddelanden till en kö och ett ämne
// 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);
Ta emot meddelanden från en kö
// 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();
Ta emot meddelanden från en delad varaktig prenumeration i ett ämne
// 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();
Sammanfattning
Den här guiden visar hur Java-klientprogram som använder Java Message Service (JMS) via AMQP 1.0 kan interagera med Azure Service Bus.
Du kan också använda Service Bus AMQP 1.0 från andra språk, inklusive .NET, C, Python och PHP. Komponenter som skapats med dessa olika språk kan utbyta meddelanden på ett tillförlitligt sätt och med full återgivning med hjälp av AMQP 1.0-stödet i Service Bus.
Nästa steg
Mer information om Azure Service Bus och information om JMS-entiteter (Java Message Service) finns i länkarna nedan –
- Service Bus – köer, ämnen och prenumerationer
- Service Bus – Java Message Service-entiteter
- AMQP 1.0-stöd i Azure Service Bus
- Utvecklarguide för Service Bus AMQP 1.0
- Komma igång med Service Bus-köer
- Java Message Service API (externt Oracle-dokument)
- Lär dig hur du migrerar från ActiveMQ till Service Bus
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för