Dev Services for Pulsar

Com a extensão Smallrye Reactive Messaging Pulsar do Quarkus (quarkus-smallrye-reactive-messaging-pulsar), o Dev Services para Pulsar inicia automaticamente um broker Pulsar no modo de desenvolvimento e ao executar testes. Portanto, você não precisa iniciar um broker manualmente. O aplicativo é configurado automaticamente.

Ativando / Desativando Dev Services para o Pulsar

Os Dev services para Pulsar são ativados automaticamente, a menos que:

  • quarkus.pulsar.devservices.enabled é definido como false

  • o pulsar.client.serviceUrl está configurado

  • todos os canais Pulsar de mensagens reativas têm o atributo serviceUrl definido

Dev Services para a Pulsar dependem do Docker para iniciar o agente. Se o seu ambiente não for compatível com o Docker, você precisará iniciar o agente manualmente ou conectar-se a um agente já em execução. Você pode configurar o endereço do agente usando pulsar.client..

Broker partilhado

Na maioria das vezes, você precisa compartilhar o broker entre os aplicativos. O Dev Services para Pulsar implementa um mecanismo de descoberta de serviços para que seus vários aplicativos Quarkus em execução no modo de desenvolvimento compartilhem um único broker.

Dev Services for Pulsar starts the container with the quarkus-dev-service-pulsar label which is used to identify the container.

Se precisar de vários brokers (compartilhados), você pode configurar o atributo quarkus.pulsar.devservices.service-name e indicar o nome do broker. Ele procura um contêiner com o mesmo valor ou inicia um novo se nenhum for encontrado. O nome do serviço padrão é pulsar .

O compartilhamento é ativado por padrão no modo de desenvolvimento, mas desativado no modo de teste. Você pode desativar o compartilhamento com quarkus.pulsar.devservices.shared=false.

Definindo a porta

Por padrão, o Dev Services para Pulsar escolhe uma porta aleatória e configura o aplicativo. Você pode definir a porta configurando a propriedade quarkus.pulsar.devservices.port.

Note que o endereço anunciado pelo Pulsar é automaticamente configurado com a porta escolhida.

Configurando a imagem

O Dev Services para Pulsar suporta a imagem oficial do Apache Pulsar.

Um nome de imagem personalizado pode ser configurado. Por exemplo:

quarkus.pulsar.devservices.image-name=datastax/lunastreaming-all:2.10_4.7

Configurar o broker Pulsar

É possível configurar o Dev Services para a Pulsar com a configuração personalizada do broker.

O exemplo seguinte ativa o suporte de transação:

quarkus.pulsar.devservices.broker-config.transaction-coordinator-enabled=true
quarkus.pulsar.devservices.broker-config.system-topic-enabled=true

Related content