All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.quarkiverse.hivemqclient.deployment.MqttDevServicesBuildTimeConfig Maven / Gradle / Ivy

package io.quarkiverse.hivemqclient.deployment;

import java.util.Map;
import java.util.Optional;
import java.util.OptionalInt;

import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;

@ConfigGroup
public class MqttDevServicesBuildTimeConfig {
    /**
     * If Dev Services for MQTT has been explicitly enabled or disabled. Dev Services are generally enabled
     * by default, unless there is an existing configuration present. For MQTT, Dev Services starts a broker unless
     * {@code *.host} or {@code *.port} are set for one of the connectors or if all the Reactive Messaging MQTT channel are
     * configured
     * with
     * {@code host} or {@code port}.
     */
    @ConfigItem
    public Optional enabled = Optional.empty();

    /**
     * Optional fixed port the dev service will listen to.
     * 

* If not defined, the port will be chosen randomly. */ @ConfigItem public OptionalInt port; /** * The image to use. */ @ConfigItem(defaultValue = "hivemq/hivemq-ce:2023.9") public String imageName; /** * Indicates if the MQTT broker managed by Quarkus Dev Services is shared. * When shared, Quarkus looks for running containers using label-based service discovery. * If a matching container is found, it is used, and so a second one is not started. * Otherwise, Dev Services for MQTT starts a new container. *

* The discovery uses the {@code quarkus-dev-service-mqtt} label. * The value is configured using the {@code service-name} property. *

* Container sharing is only used in dev mode. */ @ConfigItem(defaultValue = "true") public boolean shared; /** * The value of the {@code quarkus-dev-service-mqtt} label attached to the started container. * This property is used when {@code shared} is set to {@code true}. * In this case, before starting a container, Dev Services for MQTT looks for a container with the * {@code quarkus-dev-service-mqtt} label * set to the configured value. If found, it will use this container instead of starting a new one. Otherwise, it * starts a new container with the {@code quarkus-dev-service-mqtt} label set to the specified value. *

* This property is used when you need multiple shared MQTT brokers. */ @ConfigItem(defaultValue = "mqtt") public String serviceName; /** * Environment variables that are passed to the container. */ @ConfigItem public Map containerEnv; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy