Size: a a a

Spring Framework and more

2020 June 19

AT

Arqin T in Spring Framework and more
люди ленятся думать сами
источник

AT

Arqin T in Spring Framework and more
коллеги, а знает может кто. есть ли возможность переопределить свойства в приложении, при сборке, через командную строку?

к примеру есть файл свойств:

prop.host = http://fdlfjdlf.ru
prop.port = 8080


и при сборке выполнить

mvn package -Dprop.host='http://google.com'


и чтобы свойство с командной строки перекрывало свойство с файла
источник

AE

Alexandr Emelyanov in Spring Framework and more
Arqin T
люди ленятся думать сами
они используют CBQL (ChatBrainQueryLanguage)
источник

AE

Alexandr Emelyanov in Spring Framework and more
Arqin T
коллеги, а знает может кто. есть ли возможность переопределить свойства в приложении, при сборке, через командную строку?

к примеру есть файл свойств:

prop.host = http://fdlfjdlf.ru
prop.port = 8080


и при сборке выполнить

mvn package -Dprop.host='http://google.com'


и чтобы свойство с командной строки перекрывало свойство с файла
можно при выполнении через system env, а вообще рессурс плагин умеет плейсхолдеры разворачивать
источник

AT

Arqin T in Spring Framework and more
Alexandr Emelyanov
можно при выполнении через system env, а вообще рессурс плагин умеет плейсхолдеры разворачивать
можете тыкнуть куда рыть по плейсхолдерам?
источник

k

kuzznya in Spring Framework and more
Вопрос по микросервисам
Есть проект, содержащий микросервисы в виде модулей
pom.xml простой
В сервисах определены зависимости и есть конфиги портов
Когда запускаю по отдельности их, то все работает
Но при запуске с помощью mvn spring-boot:start (не run, потому что он на первом же и останавливается, а start не блокирует), выдает ошибку, что порт 9001 занят
Хотя в конфиге сервисов вообще такого порта не указано
Пытался гуглить проблему, но не нашел
источник

k

kuzznya in Spring Framework and more
Есть ли возможность одной командой запустить все без ошибок, что порт занят?
источник

k

kuzznya in Spring Framework and more
источник

k

kuzznya in Spring Framework and more
В конфиге первого сервиса указан другой порт
источник

VB

Vlad Bozhenko in Spring Framework and more
а что у тебя на 9001 порту крутится ?
источник

k

kuzznya in Spring Framework and more
Вот именно, что не вижу ничего
источник

SD

Semyon Danilov in Spring Framework and more
В стэке видно, что это порт jmx :)
источник

k

kuzznya in Spring Framework and more
Спасибо, посмотрю
источник

l

legitzky in Spring Framework and more
гайз, есть нубский вопрос
сервис компания.пакет1.сервисА использует сервис компания.пакет2.сервисБ
сервисА инжектит в себя сервисБ через конструктор с помощью Autowired
затем сервис компания.пакет1.сервисБ выделил в отдельную "библиотеку" и теперь этот сервис живет отдельном .jar файле
теперь в приложении, в котором живет сервисА, включается в мавен-депенденси этот .jar файл в котором сервисБ
после такого действа вполне обоснованно ломается автовайринг и приложение выкидывает NoSuchBeanDefinitionException
это можно починить, если навесить сканирование пакета на пакет из этой джарки: @ComponentScan(basePackages = "компания.пакет2.сервисБ")
но как-то это по уродски, ибо при добавлении еще одного такого вынесенного сервиса в джар файл придется добавлять сканирование еще одного пакета

подскажите пжалст, как по уму решается такое? (случайно не написанием спрингбут-стартера? вроде они способны отдавать уже сконфигурированные бины, и автовайринг наверно продолжит работать)
источник

EU

Evgen U in Spring Framework and more
legitzky
гайз, есть нубский вопрос
сервис компания.пакет1.сервисА использует сервис компания.пакет2.сервисБ
сервисА инжектит в себя сервисБ через конструктор с помощью Autowired
затем сервис компания.пакет1.сервисБ выделил в отдельную "библиотеку" и теперь этот сервис живет отдельном .jar файле
теперь в приложении, в котором живет сервисА, включается в мавен-депенденси этот .jar файл в котором сервисБ
после такого действа вполне обоснованно ломается автовайринг и приложение выкидывает NoSuchBeanDefinitionException
это можно починить, если навесить сканирование пакета на пакет из этой джарки: @ComponentScan(basePackages = "компания.пакет2.сервисБ")
но как-то это по уродски, ибо при добавлении еще одного такого вынесенного сервиса в джар файл придется добавлять сканирование еще одного пакета

подскажите пжалст, как по уму решается такое? (случайно не написанием спрингбут-стартера? вроде они способны отдавать уже сконфигурированные бины, и автовайринг наверно продолжит работать)
вариантов много. можно через джава конфиг
источник

l

legitzky in Spring Framework and more
Evgen U
вариантов много. можно через джава конфиг
ок, уточню, вынесенный сервисБ представляет из себя не совсем сервис =)
а интерфейс фейн-клиент, (интерфейс помеченный @FeignClient), потому не имеет конструктора, потому не представляю как через джава конфиг его сделать
источник

EU

Evgen U in Spring Framework and more
тогда componetScan в принципе норм
источник

✔D

✔️Alexey Draznin in Spring Framework and more
legitzky
ок, уточню, вынесенный сервисБ представляет из себя не совсем сервис =)
а интерфейс фейн-клиент, (интерфейс помеченный @FeignClient), потому не имеет конструктора, потому не представляю как через джава конфиг его сделать
Почему нельзя сделать класс с названием типа FeignClientConfiguration и навесить на него аннотации @configuration, @componentscan и энейбл фейн клиентс? По-моему вполне норм решение
источник

l

legitzky in Spring Framework and more
о, про конфиг с  @EnableFeignClients я не подумал, спасибо за наводку!
источник

k

kuzznya in Spring Framework and more
Semyon Danilov
В стэке видно, что это порт jmx :)
Я все-таки не понимаю
Как именно преодолеть это?
источник