Korzystanie z usługi Azure Service Bus w aplikacjach Spring
Artykuł
W tym artykule pokazano, jak używać usługi Azure Service Bus w aplikacjach Java utworzonych za pomocą platformy Spring Framework.
Platforma Azure udostępnia asynchroniczną platformę obsługi komunikatów o nazwie Azure Service Bus (Service Bus ), która jest oparta na standardzie Advanced Message Queueing Protocol 1.0 (AMQP 1.0). Usługę Service Bus można używać na różnych obsługiwanych platformach platformy Azure.
Platforma Spring Cloud Azure udostępnia różne moduły do wysyłania komunikatów do kolejek i tematów usługi Service Bus oraz / przy użyciu platform Spring.
Następujące moduły można użyć niezależnie lub połączyć je w różnych przypadkach użycia:
Spring Cloud Azure Service Bus JMS Starter umożliwia używanie interfejsu API JMS do wysyłania i odbierania komunikatów za pomocą kolejek i tematów/subskrypcji usługi Service Bus.
Jeśli nie masz aplikacji Spring Boot, utwórz projekt Maven za pomocą narzędzia Spring Initializr. Pamiętaj, aby wybrać pozycję Projekt Maven i w obszarze Zależności dodaj zależność Spring Web , a następnie wybierz pozycję Java w wersji 8 lub nowszej.
Uwaga
Aby udzielić kontu dostępu do zasobów usługi Service Bus, w nowo utworzonej przestrzeni nazw usługi Azure Service Bus przypisz role Nadawca danych usługi Azure Service Bus i Odbiornik danych usługi Azure Service Bus do aktualnie używanego konta firmy Microsoft. Aby uzyskać więcej informacji, zobacz przypisywanie ról Azure za pomocą portalu Azure.
Ważne
Do wykonania kroków opisanych w tym samouczku jest wymagana wersja 2.5 lub nowsza.
Przygotowywanie środowiska lokalnego
W tym samouczku konfiguracje i kod nie mają żadnych operacji uwierzytelniania. Jednak nawiązywanie połączenia z usługą platformy Azure wymaga uwierzytelniania. Aby ukończyć uwierzytelnianie, należy użyć biblioteki klienta tożsamości platformy Azure. Platforma Spring Cloud na platformie Azure używa DefaultAzureCredentialbiblioteki tożsamości platformy Azure, która ułatwia uzyskiwanie poświadczeń bez żadnych zmian w kodzie.
DefaultAzureCredential obsługuje wiele metod uwierzytelniania i określa, która metoda ma być używana w czasie wykonywania. Takie podejście umożliwia aplikacji używanie różnych metod uwierzytelniania w różnych środowiskach — takich jak środowiska lokalne lub produkcyjne — bez implementowania kodu specyficznego dla środowiska. Aby uzyskać więcej informacji, zobacz sekcję DefaultAzureCredential w temacie Uwierzytelnianie aplikacji Java hostowanych na platformie Azure.
Usługa Azure Service Bus dla interfejsu API JMS obecnie nie obsługuje DefaultAzureCredentialusługi . Jeśli używasz programu Spring JMS z usługą Service Bus, zignoruj ten krok.
Używanie szablonu startowego Spring Cloud Azure Service Bus
Moduł startowy Spring Cloud Azure Service Bus importuje bibliotekę klienta Java usługi Service Bus z platformą Spring Boot. Platformy Azure i zestawu Azure SDK platformy Spring można używać razem we wzorcu, który nie wyklucza się wzajemnie. W związku z tym możesz nadal używać interfejsu API klienta Java usługi Service Bus w aplikacji Spring.
Dodawanie zależności usługi Service Bus
Aby zainstalować moduł startowy spring Cloud Azure Service Bus, dodaj następujące zależności do pliku pom.xml :
Projekt Spring Cloud Azure Bill of Materials (BOM):
Jeśli używasz środowiska Spring Boot 2.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 4.19.0.
Ten rachunek materiału (BOM) należy skonfigurować w <dependencyManagement> sekcji pliku pom.xml . Gwarantuje to, że wszystkie zależności platformy Azure platformy Spring Cloud korzystają z tej samej wersji.
Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Która wersja platformy Spring Cloud platformy Azure powinna być używana.
Kod aplikacji do wysyłania i odbierania komunikatów
W tym przewodniku pokazano, jak używać klientów Java usługi Service Bus w kontekście aplikacji Spring. Tutaj wprowadzamy dwie alternatywy. Zalecanym sposobem jest użycie autokonfiguracji spring boot i użycie nieaktualnych klientów z kontekstu Spring. Alternatywnym sposobem jest programowe kompilowanie klientów.
Pierwszy sposób, który obejmuje automatyczne podłączanie fasoli klienta z kontenera Spring IoC, ma następujące zalety w porównaniu z drugą metodą. Te korzyści zapewniają bardziej elastyczne i wydajne środowisko podczas opracowywania za pomocą klientów usługi Service Bus.
Można użyć konfiguracji zewnętrznej, aby można było pracować z tym samym kodem aplikacji w różnych środowiskach.
Możesz delegować proces uczenia się wzorca konstruktora i rejestrowania tego klienta w kontekście aplikacji do platformy Spring Boot. To delegowanie umożliwia skoncentrowanie się na sposobie korzystania z klientów z własnymi wymaganiami biznesowymi.
Wskaźnik kondycji można użyć w łatwy sposób, aby sprawdzić stan i kondycję aplikacji i składników wewnętrznych.
W poniższym przykładzie kodu pokazano, jak używać metod ServiceBusSenderClient i ServiceBusProcessorClient z tymi dwiema alternatywami.
Uwaga
Zestaw Azure Java SDK dla usługi Service Bus udostępnia wielu klientów do interakcji z usługą Service Bus. Starter zapewnia również automatyczną konfigurację dla wszystkich klientów usługi Service Bus i konstruktorów klientów. W tym miejscu używamy tylko i ServiceBusSenderClientServiceBusProcessorClient jako przykładów.
Korzystanie z autokonfiguracji spring boot
Aby wysyłać komunikaty do usługi Service Bus i odbierać je z usługi Service Bus, skonfiguruj aplikację, wykonując następujące kroki:
Skonfiguruj przestrzeń nazw i kolejkę usługi Service Bus, jak pokazano w poniższym przykładzie:
W tym miejscu jako przykład użyjemy kolejki usługi Service Bus. Aby użyć tematu spring.cloud.azure.servicebus.processor.subscription-name /subskrypcji, musisz dodać właściwość i zmienić entity-type wartość na topic.
Utwórz nową ServiceBusProcessorClientConfiguration klasę Java, jak pokazano w poniższym przykładzie. Ta klasa służy do rejestrowania komunikatu i procedury obsługi błędów programu ServiceBusProcessorClient.
Wstrzykuj element ServiceBusSenderClient w aplikacji Spring i wywołaj powiązane interfejsy API w celu wysyłania komunikatów, jak pokazano w poniższym przykładzie:
Java
@SpringBootApplicationpublicclassServiceBusQueueApplicationimplementsCommandLineRunner{
privatefinal ServiceBusSenderClient senderClient;
publicServiceBusQueueApplication(ServiceBusSenderClient senderClient){
this.senderClient = senderClient;
}
publicstaticvoidmain(String[] args){
SpringApplication.run(ServiceBusQueueApplication.class, args);
}
@Overridepublicvoidrun(String... args)throws Exception {
// send one message to the queue
senderClient.sendMessage(new ServiceBusMessage("Hello, World!"));
System.out.printf("Sent a message to the queue");
senderClient.close();
// wait the processor client to consume messages
TimeUnit.SECONDS.sleep(10);
}
}
Uwaga
Domyślnie cykl życia automatycznie wirowanej ServiceBusProcessorClient fasoli jest zarządzany przez kontekst Spring. Procesor jest uruchamiany automatycznie po uruchomieniu kontekstu aplikacji Spring i zatrzymany po zatrzymaniu kontekstu aplikacji Spring. Aby wyłączyć tę funkcję, skonfiguruj element spring.cloud.azure.servicebus.processor.auto-startup=false.
Uruchom aplikację. Wyświetlane są dzienniki podobne do następującego przykładu:
Output
Sent a message to the queue
Processing message. Id: 6f405435200047069a3caf80893a80bc, Sequence #: 1. Contents: Hello, World!
Programowe kompilowanie klientów usługi Service Bus
Możesz samodzielnie skompilować fasolę klienta, ale proces jest skomplikowany. W aplikacjach Spring Boot musisz zarządzać właściwościami, uczyć się wzorca konstruktora i rejestrować klienta w kontekście aplikacji Spring. W poniższym przykładzie kodu pokazano, jak to zrobić:
Utwórz nową ServiceBusClientConfiguration klasę Java, jak pokazano w poniższym przykładzie. Ta klasa służy do deklarowania fasoli ServiceBusSenderClient i ServiceBusProcessorClient .
Pamiętaj, aby zastąpić <service-bus-fully-qualified-namespace> symbol zastępczy nazwą hosta usługi Service Bus z witryny Azure Portal. Zastąp <service-bus-queue-name> symbol zastępczy własną nazwą kolejki skonfigurowaną w przestrzeni nazw usługi Service Bus.
Wstrzyknąć fasolę klienta do aplikacji, jak pokazano w poniższym przykładzie:
Java
@SpringBootApplicationpublicclassServiceBusQueueApplicationimplementsCommandLineRunner{
privatefinal ServiceBusSenderClient senderClient;
privatefinal ServiceBusProcessorClient processorClient;
publicServiceBusQueueApplication(ServiceBusSenderClient senderClient, ServiceBusProcessorClient processorClient){
this.senderClient = senderClient;
this.processorClient = processorClient;
}
publicstaticvoidmain(String[] args){
SpringApplication.run(ServiceBusQueueApplication.class, args);
}
@Overridepublicvoidrun(String... args)throws Exception {
// send one message to the queue
senderClient.sendMessage(new ServiceBusMessage("Hello, World!"));
System.out.printf("Sent a message to the queue");
senderClient.close();
System.out.printf("Starting the processor");
processorClient.start();
TimeUnit.SECONDS.sleep(10);
System.out.printf("Stopping and closing the processor");
processorClient.close();
}
}
Uruchom aplikację. Wyświetlane są dzienniki podobne do następującego przykładu:
Output
Sent a message to the queue
Starting the processor
...
Processing message. Id: 6f405435200047069a3caf80893a80bc, Sequence #: 1. Contents: Hello, World!
Stopping and closing the processor
Na poniższej liście przedstawiono przyczyny, dla których ten kod nie jest elastyczny lub elastyczny:
Przestrzeń nazw i nazwy kolejki/tematu/subskrypcji są zakodowane w kodzie twardym.
Jeśli używasz @Value polecenia do pobierania konfiguracji ze środowiska Spring, nie możesz mieć wskazówek dotyczących środowiska IDE w pliku application.properties .
Jeśli masz scenariusz mikrousług, musisz zduplikować kod w każdym projekcie i łatwo jest popełnić błędy i trudno go spójnie.
Na szczęście samodzielne kompilowanie fasoli klienta nie jest konieczne w przypadku platformy Azure Spring Cloud. Zamiast tego możesz bezpośrednio wstrzyknąć fasolę i użyć właściwości konfiguracji, które już znasz, aby skonfigurować usługę Service Bus.
Korzystanie z szablonu startowego Spring Cloud Azure Service Bus JMS
Moduł startowy Spring Cloud Azure Service Bus JMS zapewnia integrację rozwiązania Spring JMS z usługą Service Bus. W poniższym wideo opisano sposób integrowania aplikacji Spring JMS z usługą Azure Service Bus przy użyciu programu JMS 2.0.
W tym przewodniku pokazano, jak używać szablonu startowego Spring Cloud Azure Service Bus dla interfejsu API JMS do wysyłania komunikatów do usługi Service Bus i odbierania ich z usługi Service Bus.
Dodawanie zależności usługi Service Bus
Aby zainstalować moduł startowy spring Cloud Azure Service Bus JMS, dodaj następujące zależności do pliku pom.xml :
Projekt Spring Cloud Azure Bill of Materials (BOM):
Jeśli używasz środowiska Spring Boot 2.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 4.19.0.
Ten rachunek materiału (BOM) należy skonfigurować w <dependencyManagement> sekcji pliku pom.xml . Gwarantuje to, że wszystkie zależności platformy Azure platformy Spring Cloud korzystają z tej samej wersji.
Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Która wersja platformy Spring Cloud platformy Azure powinna być używana.
Artefakt JMS spring Cloud w usłudze Azure Service Bus:
Platforma Spring umożliwia publikowanie komunikatów w dowolnym obiekcie POJO (zwykły stary obiekt Java). Najpierw zdefiniuj klasę ogólną User , która przechowuje i pobiera nazwę użytkownika, jak pokazano w poniższym przykładzie:
Implementacja interfejsu Serializable obejmuje używanie metody send szablonu JmsTemplate platformy Spring. W przeciwnym razie należy zdefiniować dostosowaną MessageConverter fasolę, aby serializować zawartość do formatu JSON w formacie tekstowym. Aby uzyskać więcej informacji na temat funkcji MessageConverter, zobacz oficjalną stronę projektu szablonu startowego Spring JMS .
W tym miejscu możesz utworzyć nową QueueReceiveService klasę Języka Java, jak pokazano w poniższym przykładzie. Ta klasa służy do definiowania odbiornika komunikatów.
Pamiętaj, aby zastąpić <service-bus-queue-name> symbol zastępczy własną nazwą kolejki skonfigurowaną w przestrzeni nazw usługi Service Bus.
Jeśli używasz tematu/subskrypcji, zmień destination parametr jako nazwę tematu i containerFactory powinien mieć wartość topicJmsListenerContainerFactory. Dodaj również parametr , subscription aby opisać nazwę subskrypcji.
Podłącz nadawcę i odbiorcę do wysyłania i odbierania komunikatów za pomocą platformy Spring, jak pokazano w poniższym przykładzie:
Java
@SpringBootApplication@EnableJmspublicclassServiceBusJmsStarterApplication{
privatestaticfinal String QUEUE_NAME = "<service-bus-queue-name>";
publicstaticvoidmain(String[] args){
ConfigurableApplicationContext context = SpringApplication.run(ServiceBusJMSQueueApplication.class, args);
JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
// Send a message with a POJO - the template reuse the message converter
System.out.println("Sending a user message.");
jmsTemplate.convertAndSend(QUEUE_NAME, new User("Tom"));
}
}
Uwaga
Pamiętaj, aby zastąpić <service-bus-queue-name> symbol zastępczy własną nazwą kolejki skonfigurowaną w przestrzeni nazw usługi Service Bus.
Porada
Pamiętaj, aby dodać adnotację @EnableIntegration , która wyzwala odnajdywanie metod z adnotacjami za pomocą @JmsListenerpolecenia , tworząc kontener odbiornika komunikatów w obszarze okładek.
Uruchom aplikację. Wyświetlane są dzienniki podobne do następującego przykładu:
Output
Sending a user message.
Received a message from Tom.
Jeśli używasz usługi Azure Service Bus spring Messaging, możesz użyć następujących funkcji:
ServiceBusTemplate: wysyła komunikaty do kolejek i tematów usługi Service Bus asynchronicznie i synchronicznie.
@ServiceBusListener: oznacza metodę docelową odbiornika komunikatów usługi Service Bus w miejscu docelowym.
W tym przewodniku pokazano, jak używać usługi Azure Service Bus spring Messaging do wysyłania komunikatów i odbierania komunikatów z usługi Service Bus.
Dodawanie zależności usługi Service Bus
Aby zainstalować moduł Spring Messaging usługi Azure Service Bus, dodaj następujące zależności do pliku pom.xml :
Projekt Spring Cloud Azure Bill of Materials (BOM):
Jeśli używasz środowiska Spring Boot 2.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 4.19.0.
Ten rachunek materiału (BOM) należy skonfigurować w <dependencyManagement> sekcji pliku pom.xml . Gwarantuje to, że wszystkie zależności platformy Azure platformy Spring Cloud korzystają z tej samej wersji.
Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Która wersja platformy Spring Cloud platformy Azure powinna być używana.
Artefakty startowe Spring Messaging Service Bus i Spring Cloud Na platformie Azure:
Jeśli używasz tematu/subskrypcji, zmień parametr destination adnotacji jako nazwę tematu i dodaj group parametr , aby opisać nazwę subskrypcji.
Podłącz nadawcę i odbiorcę do wysyłania i odbierania komunikatów za pomocą platformy Spring, jak pokazano w poniższym przykładzie:
Java
@SpringBootApplication@EnableAzureMessagingpublicclassApplication{
privatestaticfinal String QUEUE_NAME = "<service-bus-queue-name>";
publicstaticvoidmain(String[] args){
ConfigurableApplicationContext applicationContext = SpringApplication.run(Application.class);
ServiceBusTemplate serviceBusTemplate = applicationContext.getBean(ServiceBusTemplate.class);
System.out.println("Sending a message to the queue.");
serviceBusTemplate.sendAsync(QUEUE_NAME, MessageBuilder.withPayload("Hello world").build()).subscribe();
}
}
Porada
Pamiętaj, aby dodać adnotację @EnableAzureMessaging , która wyzwala odnajdywanie metod z adnotacjami za pomocą @ServiceBusListenerpolecenia , tworząc kontener odbiornika komunikatów w obszarze okładek.
Uruchom aplikację. Wyświetlane są dzienniki podobne do następującego przykładu:
Output
Sending a message to the queue.
Consume message: Hello world.
Korzystanie z usługi Azure Service Bus integracji spring
Jeśli aplikacja Spring używa kanałów komunikatów integracji platformy Spring, możesz kierować komunikaty między kanałami komunikatów i usługą Service Bus przy użyciu kart kanału.
Adapter kanału przychodzącego przekazuje komunikaty z kolejki usługi Service Bus lub subskrypcji do kanału komunikatów. Karta kanału wychodzącego publikuje komunikaty z kanału komunikatów do kolejki i tematu usługi Service Bus.
W tym przewodniku pokazano, jak używać usługi Azure Service Bus integracji spring do wysyłania komunikatów i odbierania komunikatów z usługi Service Bus.
Dodawanie zależności usługi Service Bus
Aby zainstalować moduł Start integracji rozwiązania Spring Cloud Azure Service Bus, dodaj następujące zależności do pliku pom.xml :
Projekt Spring Cloud Azure Bill of Materials (BOM):
Jeśli używasz środowiska Spring Boot 2.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 4.19.0.
Ten rachunek materiału (BOM) należy skonfigurować w <dependencyManagement> sekcji pliku pom.xml . Gwarantuje to, że wszystkie zależności platformy Azure platformy Spring Cloud korzystają z tej samej wersji.
Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Która wersja platformy Spring Cloud platformy Azure powinna być używana.
Artefakt integracji rozwiązania Spring Cloud Azure Service Bus:
Utwórz nową QueueReceiveConfiguration klasę Java, jak pokazano w poniższym przykładzie. Ta klasa służy do definiowania odbiornika komunikatów.
Java
@ConfigurationpublicclassQueueReceiveConfiguration{
privatestaticfinal String INPUT_CHANNEL = "queue.input";
privatestaticfinal String QUEUE_NAME = "<your-servicebus-queue-name>";
privatestaticfinal String SERVICE_BUS_MESSAGE_LISTENER_CONTAINER = "queue-listener-container";
/**
* This message receiver binding with {@link ServiceBusInboundChannelAdapter}
* via {@link MessageChannel} has name {@value INPUT_CHANNEL}
*/@ServiceActivator(inputChannel = INPUT_CHANNEL)
publicvoidmessageReceiver(byte[] payload){
String message = new String(payload);
System.out.printf("New message received: '%s'%n", message);
}
@Bean(SERVICE_BUS_MESSAGE_LISTENER_CONTAINER)
public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory){
ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties();
containerProperties.setEntityName(QUEUE_NAME);
returnnew ServiceBusMessageListenerContainer(processorFactory, containerProperties);
}
@Beanpublic ServiceBusInboundChannelAdapter queueMessageChannelAdapter(
@Qualifier(INPUT_CHANNEL) MessageChannel inputChannel,
@Qualifier(SERVICE_BUS_MESSAGE_LISTENER_CONTAINER) ServiceBusMessageListenerContainer listenerContainer) {
ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer);
adapter.setOutputChannel(inputChannel);
return adapter;
}
@Bean(name = INPUT_CHANNEL)
public MessageChannel input(){
returnnew DirectChannel();
}
}
Utwórz nową QueueSendConfiguration klasę Java, jak pokazano w poniższym przykładzie. Ta klasa służy do definiowania nadawcy komunikatów.
Java
@ConfigurationpublicclassQueueSendConfiguration{
privatestaticfinal String OUTPUT_CHANNEL = "queue.output";
privatestaticfinal String QUEUE_NAME = "<your-servicebus-queue-name>";
@Bean@ServiceActivator(inputChannel = OUTPUT_CHANNEL)
public MessageHandler queueMessageSender(ServiceBusTemplate serviceBusTemplate){
serviceBusTemplate.setDefaultEntityType(ServiceBusEntityType.QUEUE);
DefaultMessageHandler handler = new DefaultMessageHandler(QUEUE_NAME, serviceBusTemplate);
handler.setSendCallback(new ListenableFutureCallback<Void>() {
@OverridepublicvoidonSuccess(Void result){
System.out.println("Message was sent successfully.");
}
@OverridepublicvoidonFailure(Throwable ex){
System.out.println("There was an error sending the message.");
}
});
return handler;
}
/**
* Message gateway binding with {@link MessageHandler}
* via {@link MessageChannel} has name {@value OUTPUT_CHANNEL}
*/@MessagingGateway(defaultRequestChannel = OUTPUT_CHANNEL)
publicinterfaceQueueOutboundGateway{
voidsend(String text);
}
}
Podłącz nadawcę i odbiorcę do wysyłania i odbierania komunikatów za pomocą platformy Spring, jak pokazano w poniższym przykładzie:
Java
@SpringBootApplication@EnableIntegration@Configuration(proxyBeanMethods = false)
publicclassServiceBusIntegrationApplication{
publicstaticvoidmain(String[] args){
ConfigurableApplicationContext applicationContext = SpringApplication.run(ServiceBusIntegrationApplication.class, args);
QueueSendConfiguration.QueueOutboundGateway outboundGateway = applicationContext.getBean(QueueSendConfiguration.QueueOutboundGateway.class);
System.out.println("Sending a message to the queue");
outboundGateway.send("Hello World");
}
}
Porada
Pamiętaj, aby dodać adnotację @EnableIntegration , która umożliwia infrastrukturę integracji spring.
Uruchom aplikację. Wyświetlane są dzienniki podobne do następującego przykładu:
Output
Message was sent successfully.
New message received: 'Hello World'
Korzystanie z powiązania usługi Spring Cloud Stream Service Bus
Aby wywołać interfejs API usługi Service Bus w aplikacji Spring Cloud Stream , użyj modułu binder strumienia Spring Cloud Azure Service Bus.
W tym przewodniku pokazano, jak używać narzędzia binder usługi Service Bus spring Cloud Stream do wysyłania komunikatów do usługi Service Bus i odbierania ich z usługi Service Bus.
Dodawanie zależności usługi Service Bus
Aby zainstalować moduł binder strumienia Spring Cloud Azure Service Bus, dodaj następujące zależności do pliku pom.xml :
Projekt Spring Cloud Azure Bill of Materials (BOM):
Jeśli używasz środowiska Spring Boot 2.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 4.19.0.
Ten rachunek materiału (BOM) należy skonfigurować w <dependencyManagement> sekcji pliku pom.xml . Gwarantuje to, że wszystkie zależności platformy Azure platformy Spring Cloud korzystają z tej samej wersji.
Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Która wersja platformy Spring Cloud platformy Azure powinna być używana.
Artefakt integracji rozwiązania Spring Cloud Azure Service Bus:
Dodaj konfigurację, aby określić queue nazwę wysyłania, zastępując <your-servicebus-queue-name> symbol zastępczy w poniższym przykładzie:
properties
# "consume" is added from the previous stepspring.cloud.function.definition=consume;supplyspring.cloud.stream.bindings.supply-out-0.destination=<your-servicebus-queue-name>spring.cloud.stream.servicebus.bindings.supply-out-0.producer.entity-type=queue
Uwaga
Aby wysłać do tematu usługi Service Bus, pamiętaj, aby zmienić wartość na entity-typetopic.
Uruchom aplikację. Wyświetlane są dzienniki podobne do następującego przykładu:
Output
Sending a message.
New message received: 'Hello world'.
Wdrażanie w usłudze Azure Spring Apps
Teraz, gdy aplikacja Spring Boot działa lokalnie, nadszedł czas, aby przenieść ją do środowiska produkcyjnego.
Usługa Azure Spring Apps ułatwia wdrażanie aplikacji Spring Boot na platformie Azure bez żadnych zmian w kodzie. Usługa zarządza infrastrukturą aplikacji Spring, aby deweloperzy mogli skupić się na swoim kodzie. Usługa Azure Spring Apps zapewnia zarządzanie cyklem życia przy użyciu kompleksowego monitorowania i diagnostyki, zarządzania konfiguracją, odnajdywania usług, integracji/ciągłego wdrażania, wdrożeń niebieskich zielonych i nie tylko. Aby wdrożyć aplikację w usłudze Azure Spring Apps, zobacz Wdrażanie pierwszej aplikacji w usłudze Azure Spring Apps.
Aby uzyskać więcej informacji na temat dodatkowych szablonów startowych Spring Boot dostępnych dla platformy Microsoft Azure, zobacz Co to jest platforma Spring Cloud Azure?
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.