All streams
Search
Write a publication
Pull to refresh
4
0.2
Send message
Да я с сутью и не спорю, мне эти идеи тоже кажутся сомнительными. Я просто удивляюсь агрессивной форме донесения своего, пусть и не лишенного основания, мнения.
Откуда в вас столько агрессии? Автор всего-то объяснил почему он делает так, как делает, и не более того.
Побенчим редиску против файла? Хотя стоп, бенчат же как раз эффективность работы с данными, так что без ПО обеспечивающего доступ не обойтись. ч0рт, как же быть?
Проброс параметра, как вы его называете, это, в моем примере, строка
Value("${some.mail.var}") String someMailVar;
В вашем случае, очевидно, будет
Value("${spring.mail.username}") String to;
Божечки… И Service, и Component, да еще и lombok в придачу… Вы не пробовали быть проще? Создать класс ровно с тем содержимым, что я вам показал, позволить IDE нагенерить импорты, запустить и убедиться, что все работает. А потом уже накручивать свою магию и предметную область?
Не понимаю ваш вопрос, наверное… В пропертях:
some.mail.var=someValue


Ваш класс:
@Component
public class EmailServiceImpl {
    @Value("${some.mail.var}") String someMailVar;

    @PostConstruct
    public void init(){
        System.out.println(someMailVar); // на консоли будет someValue
    }
}
Не пишу на С# или Python, попробуйте спросить у гугла.
Мне кажется это изрядный оверхед, тягать цельный Spring Cloud со всеми его особенностями, только что бы порулить таймаутами, тем более, что Спринг сам предоставляет для этого нативные средства. Я вообще склоняюсь к мысли, что Спринг, временами, изрядно усложняет простые вещи. Вот казалось бы обновление параметров в рантайме легко делается через банальный бин, к примеру, DynamicAppProp, в котором эти параметры живут, как обычные поля, и доступны из всего приложения. Сторим их куда-нибудь в редиску в виде json, вынимаем при рестарте, чего не нашли инициируем из application.properties. Да, наверное эстеты будут плеваться, но для небольших проектов, коих подавляющее большенство, такой подход, как мне кажется, куда предпочтительнее влезания в дебри Spring Cloud и прочей черной магии. Но я не претендую.
Не сложно. Кажется вот тут что-то похожее на правду: jurberg.github.io/blog/2011/11/05/custom-scheduling-spring Кода получается слегка больше, нежели одна аннотация, но зато можно рулить таймаутами из, к примеру, админки, что трудно переоценить.
В спринге вы через redisTemplate что по сути дела делаете? Фактически запрос данных. Это несколько отличается от хазелькаста, где вы работаете с переменной в которой лежат значения. По-моему разница очевидна.
дает нам возможность построить абсолютно новый мир

Очень медленный мир, если я правильно понимаю.
Хазелькаст предоставляет доступ к хранимой информации через объекты, реализующие стандартные интерфейсы, такие как List или Map, а не через запросы. В этой проекции любой HashMap можно назвать «базой данных», что будет очевидно не верным.
Думаю это не слишком дальновидно — завязывать таймаут на аннотацию @Scheduled, особенное если «в дальнейшем мы это поменяем». Как менять-то будете? Изменив 10 на 20 с пересборкой проекта и рестартом сервиса? @Scheduled хорош там, где таймаут либо не слишком важен, либо никогда не поменяется. У Спринга есть возможности регистрировать таск и определять нужно ли ему выполнится в конкретный момент времени ориентируясь хоть на фазу луны.
Наверное потому, что он не совсем БД.
Самые полезные модули эти, встречайте хитпарад:
is-string — пол миллиона с хвостиком скачиваний за последние 7 дней(https://www.npmjs.com/package/is-string)
is-odd — почти 3 миллиона (https://www.npmjs.com/package/is-odd)

И! Наш лидер!
is-number — почти 10 миллионов скачиваний за последнюю неделю (https://www.npmjs.com/package/is-number)

А вы говорите ;)
Да. А АбстрактнаяКухняКонкретныхКухоньБорщей еще смешнее, потому что шутка ынтырпрайз эдишн!
Для таких случаев придумали классы-обертки, фасады и прочие умные слова. Неужели прям никак не получится спрятать под капот весь такой психоз?
когда у тебя какой-нибудь чудовищный тип, например, лист мапов мапов мапов из листов в листы. И ты этот тип не хочешь видеть глазами, потому что он напрягает.

Вот я такой тип не столько видеть не хочу, сколько работать с ним. Потому что видеть я его может и перестану, а думать о нем придется — где в этой каше что, и как именно извлекается. По-моему такого психоза лучше избегать всеми силами, и var тут только маскирует проблему, а не решает ее.

Information

Rating
2,584-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity