Никак. Неизбежно программное обеспечение, нужны какие-то настройки. Есть учетные данные для доступа к базе данных, в адрес некоторых внешних услуг, правил журнала, etc…
В сегодняшнем посте мы посмотрим, как мы можем настроить наше приложение с помощью Quarkus и еще несколько вещей, а также юридические об этом.
Мы будем создавать microsserviço, который отвечает на запросы GET на конечной точкой называется /config все настройки сохраняются. Также давайте посмотрим, что источники установки, понять приоритеты и конфигурации, как Quarkus обрабатывает параметры среды, производства и испытания.
Во-первых, мы рассмотрим создание проекта Quarkus. Для этого достаточно использовать следующую команду.
mvn io.quarkus:quarkus-maven-plugin:1.6.0.Final:create \
-DprojectGroupId=config \
-DprojectArtifactId=config \
-Dextensions="resteasy-jackson" \
-DclassName="config.ConfigResource" \
-Dpath="/config"
Эта команда уже создает приложения Quarkus файл с именем ConfigResource . Теперь просто добавим следующий код в этот файл.
package config;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import java.util.Map;
import java.util.HashMap;
@Path("/config")
public class ConfigResource {
@ConfigProperty(name="config") // 1
String config;
@ConfigProperty(name="valorDefinido", defaultValue="Uma configuração") // 2
String valorDefinido;
@ConfigProperty(name="inteiro") // 3
Integer intConfig;
@ConfigProperty(name="C*O~M_caracteres-especiais!á") // 4
String caracteresEspeciais;
@GET
@Produces(MediaType.APPLICATION_JSON)
public Map getConfigs() { // 5
Map configs = new HashMap<>();
configs.put("Configuração: ", config);
configs.put("Valor definido: ", valorDefinido);
configs.put("Configuração inteira: ", intConfig);
configs.put("Caracteres especiais: ", caracteresEspeciais);
return configs;
}
}
Ресурсы Dentro do diretório/МЕТАИНФОРМАЦИЯ, существующая в arquivo chamado application.properties . Также необходимо изменить файл, чтобы оставаться таким образом:
config=Configuração simples C*O~M_caracteres-especiais!á=Usando caracteres especiais inteiro=2
Теперь давайте посмотрим, что каждая строка делает
Аннотации @ConfigProperty делает Quarkus знать, что переменная будет получать некоторые настройки. Имя параметра задается значение атрибута name .
В случае, если сервер не имеет значение из конфигурации, то услуга не будет ошибкой во времени, чтобы подняться. Однако, некоторые параметры могут иметь значения по умолчанию, это значение по умолчанию задается с помощью атрибута defaultValue .
Одна из самых крутых вещей, придать конфигурацию, что она уже преобразуется в тип данных, который мы хотим.
Названия параметров могут содержать точку (.), дефис (-), underscore (_) и другие специальные символы.
Это метод, который возвращает все параметры используются.
Уже почти все готово, чтобы мы могли запускать приложение. Во-первых, мы будем удалять тесты созданы.
Теперь достаточно запустить эту программу с помощью команды:
mvn quarkus:dev
И получить доступ к url http://localhost:8080/config чтобы увидеть параметры. Если все получилось, появится изображение, похожее на это ниже:
Nfs vi – dentro da anotaçao @ConfigProperty, nfs colocamos – это путь к доблести, предназначенный для конфигурирования в отношении алгуна лугара (без каких-либо примеров, например, для использования в аркиво приложение.свойства ). Но где же это место, что значение параметра берется?
Это место может быть свойства системы, переменные среды, специальный файл под названием .env , o arquivo de/| применение.свойства или любой другой источник, который разработчик внесенные вручную .
Имена переменных среды, quarkus по тем же правилам, microprofile .
Если же раздел конфигурации присутствует в различных источниках конфигурации системы необходимо выбрать один из них.
Он делает это, следуя следующем порядке:
- Свойства системы
- Переменные среды
- Архив .env
- O приложение arquivo.свойства
- Значение по умолчанию размещены в аннотации @ConfigProperty
Если файл не находится ни в источник установки, приложение не будет расти и даст ошибку
javax.enterprise.inject.spi.DeploymentException: No config value of type [] exists for: at io.quarkus.arc.runtime.ConfigRecorder.validateConfigProperties(ConfigRecorder.java:37)
С Quarkus становится очень легко поменять параметры в различных ситуациях. Это делается с помощью инструмента, а также юридические вызова Профиль конфигурации .
В зависимости от профиля, который используется, настройки, используемые, отличаются. Это позволяет поместить в тот же файл свойств различных параметров.
По умолчанию Quarkus работает с 3 различных профилей: производство (prod), разработки (dev) и тестирования (test). Профиль развития включается, когда sumus команду mvn quarkus:dev, и тестирования активируется, когда мы выполняем тесты.
Para exemplificar iso, ainda com o servidor de pé vamos adicionar uma nova linha na no nosso применение.свойства . Свойства для работы с профилем развития. Наш файл должен выглядеть так:
config=Configuração simples C*O~M_caracteres-especiais!á=Usando caracteres especiais inteiro=2 #Nova propriedade colocada abaixo %dev.inteiro=10
После сохранения изменений, и к нашей URL-адреса, мы получим следующий результат.
Как мы используем profixo “%dev”, то это новое значение является допустимым только во время отладки. Если приложение не находился в режиме отладки, то значение параметра будет использоваться другой (в данном случае 2).
Я влюблен в эту часть конфигурации в Quarkus. Что я больше всего мне нравится, что это так до смешного легко изменить собственности в производственной среде (через переменные среды).
Эта запись в конечном итоге получить больше, чем я хотел. Даже так, мне пришлось оставить за несколько контент довольно интересные. Для тех, кто имеет некоторый уровень владения английским языком, рекомендую хороший лида в официальные документы .
Да, и код, сегодня можно найти нет github .
Оригинал: “https://dev.to/lucasscharf/configurando-sua-aplicacao-java-com-quarkus-configproperty-2h2c”