Kubernetes каталог configMap и свойства системы Java

Если вы действительно хотите избавиться от предупреждений, одна вещь, которую вы можете сделать, это создать класс, который простирается от общего класса.

Например, если вы пытаетесь использовать

private Map<String, String> someMap = new HashMap<String, String>();

Вы можете создать новый класс, такой как

public class StringMap extends HashMap<String, String>()
{
    // Override constructors
}

. Тогда, когда вы используете

someMap = (StringMap) getApplicationContext().getBean("someMap");

Компилятор знает, что (более не общий) типы есть, и предупреждения не будет. Это не всегда может быть идеальным решением, некоторые могут утверждать, что этот вид поражений предназначен для универсальных классов, но вы все еще повторно используете все одинаковые коды из общего класса, вы просто объявляете во время компиляции, какой тип вы хотите использовать.

0
задан PDStat 18 March 2019 в 14:36
поделиться

1 ответ

Как объяснено в Создание ConfigMaps из каталогов и Создание ConfigMaps из файлов , когда вы создаете ConfigMap с использованием --from-file, , имя файла становится ключом, хранящимся в данных раздел ConfigMap . Содержимое файла становится значением ключа.

Чтобы сделать так, как вы хотите, лучшим способом было бы создать yml, подобный этому

apiVersion: v1
kind: ConfigMap
metadata:
  name: special-config
  namespace: default
data:
  SPECIAL_LEVEL: very
  SPECIAL_TYPE: charm

, а затем применить его так:

kubectl create -f https://k8s.io/examples/configmap/configmap-multikeys.yaml

Когда модуль запускается, Команда ls /config производит вывод ниже:

special.level
special.type

Как вы это сделали, следует сгенерировать файл с тем же именем, что и ваши исходные файлы, и внутри него содержимое файла.

0
ответ дан Diego Mendes 18 March 2019 в 14:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: