Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
 Аннотации спринга, по-моему перебор, не? :)  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1995
Я тут код смотрю чужой и вижу такое, а так как всё еще не прочитал книгу или много доков по спрингу не особо уверен, что такое кол-во аннотаций есть гуд:

@Configuration
public class ...

@Autowired
    private ...

 @Bean
    public ...

 @Bean
 @PostConstruct
    public ...


Особенно смущает последняя комбинация :)
Имеет право на жизнь такой код или аннотации перекрывают друг друга?
14 май 20, 00:31    [22132515]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
Nixic
Я тут код смотрю чужой и вижу такое, а так как всё еще не прочитал книгу или много доков по спрингу не особо уверен, что такое кол-во аннотаций есть гуд:

@Configuration
public class ...

@Autowired
    private ...

 @Bean
    public ...

 @Bean
 @PostConstruct
    public ...


Особенно смущает последняя комбинация :)
Имеет право на жизнь такой код или аннотации перекрывают друг друга?


Ну "@Configuration" это грязный класс.
Надо стараться чтобы в нем сосредотачивалась всякая дичь.

Как минимум это лучше, чем писать портянки xml, для настройки Spring-контекста. :-)
14 май 20, 05:59    [22132561]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
Да тут вопрос больше наверное про сочетание:
 @Bean
 @PostConstruct 

выглядит реально как дичь

Это тоже странновато:
@Autowired
    private

В реальности наверное лучше просто в метод передать этот бин как параметр, а не инжектить во всю конфигурацию.
14 май 20, 18:06    [22133155]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
SpringMan
Да тут вопрос больше наверное про сочетание:
 @Bean
 @PostConstruct 

выглядит реально как дичь


Согласен с вами. Это странное аннотирование

SpringMan

Это тоже странновато:
@Autowired
    private

В реальности наверное лучше просто в метод передать этот бин как параметр, а не инжектить во всю конфигурацию.


Ну возможно, нужны бины в методе "@PostConstruct"
15 май 20, 05:21    [22133376]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Nixic
Я тут код смотрю чужой и вижу такое
public class ...
метод1... 

метод2... 


Щас мы разберем все полтора миллиона вариантов аннотаций и скажем что метод2 тут явно лишний
)))
15 май 20, 06:04    [22133383]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1995
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД.
Да, меня именно эта связка аннотаций смутила:
@Bean
@PostConstruct
а инжект Environment'а - фиг с ним :)

+ SomeConfig.java
@Configuration
@EnableTransactionManagement
@EnableCaching
public class SomeConfig {

    private static final Logger LOGGER = LoggerFactory.getLogger(SomeConfig.class);

    @Autowired
    private Environment env;

    @Bean
    @PostConstruct
    public void checkConnection() {
        try {
            HikariConfig config = new HikariConfig();
            config.setMaximumPoolSize(Integer.parseInt(env.getProperty("spring.datasource.hikari.maximum-pool-size")));
            config.setDriverClassName("org.postgresql.Driver");
            config.setJdbcUrl(env.getProperty("spring.datasource.url"));
            config.setUsername(env.getProperty("spring.datasource.username"));
            config.setPassword(env.getProperty("spring.datasource.password"));
            HikariDataSource hikariDataSource = new HikariDataSource(config);
            hikariDataSource.getConnection().getCatalog();
        } catch (Exception ex) {
            LOGGER.error("Не удалось подключиться к БД при старте");
            System.exit(1);
        }
    }
}
16 май 20, 11:19    [22134101]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1995
Я вообще думаю, что для решения задачи достаточно было в пропертях добавить
spring.datasource.continue-on-error=false
Что и было зделано дополнительно к этому коду.
Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так.
Но вот эта связка... очень смущает.
Наверное есть лучше способ?
16 май 20, 11:24    [22134102]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
Для такого решения достаточно только @PostConstruct. По поводу spring.datasource.continue-on-error=false тут есть. Этот параметр значит: падать, если скрипт инициализации базы успешно не запустился - т.е. придется подложить какой-нить скрипт - тоже не самое красивое, что есть)
Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Nixic
Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так.

Вообще звучит как неправда

Сообщение было отредактировано: 16 май 20, 22:51
16 май 20, 22:52    [22134363]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1995
SpringMan

Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Да не, там же System.exit(1);
Приложение вообще без подключения к БД не долго стартовать, на счет того, что оно в рантайме потеряет БД тут оно хоть упадет, хоть нет - не важно, главное, что если упадет, то не принудительно.
17 май 20, 01:53    [22134403]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
SpringMan
Для такого решения достаточно только @PostConstruct. По поводу spring.datasource.continue-on-error=false тут есть. Этот параметр значит: падать, если скрипт инициализации базы успешно не запустился - т.е. придется подложить какой-нить скрипт - тоже не самое красивое, что есть)
Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Nixic
Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так.

Вообще звучит как неправда

Вы про подключение к базе? Не, такое не поддерживается в Спринге сейчас.

Вот ссылка на обсуждение и на мой коммент (ник apriamostanov): https://github.com/spring-projects/spring-boot/issues/4779#issuecomment-501242970

Он не просто не стартует если базы нет, но и падает если например базу перезагрузили.

Идея в том чтобы отлавливать восстановимые ошибки при коннекте к базе и ждать их восстановления.

Сейчас это не поддерживается в Спринге

Сообщение было отредактировано: 17 май 20, 03:59
17 май 20, 04:00    [22134409]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Я фигею.
Спринг уже аннотациями базу захватил?
Тут есть хоть один у кого рабочий проект с этим делом?
17 май 20, 10:44    [22134441]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 80
Потому что спринг пора закопать. Иначе рискуете, что ваш проект начнет жить своей жизнью, независимо от вас, и ничего хорошего из этого разумеется не выйдет. Думать надо, и архитектуру разрабатывать головой, а не спрингом.
17 май 20, 10:51    [22134444]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
Nixic
SpringMan

Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Да не, там же System.exit(1);
Приложение вообще без подключения к БД не долго стартовать, на счет того, что оно в рантайме потеряет БД тут оно хоть упадет, хоть нет - не важно, главное, что если упадет, то не принудительно.

Не так выразился. Философия у сприговцев, не у создателя приложения

dakeiras

Он не просто не стартует если базы нет, но и падает если например базу перезагрузили.

Специально сейчас проверил: приложение нормально стартует, если нет базы. У ТС-а уже противоположная проблема
17 май 20, 11:01    [22134447]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
PetroNotC Sharp
Я фигею.
Спринг уже аннотациями базу захватил?
Тут есть хоть один у кого рабочий проект с этим делом?

Ну там возможность только запустить sql скрипт при старте приложения или flayway/liquidbase скрипты - магии особой нет
17 май 20, 11:12    [22134450]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan
PetroNotC Sharp
Я фигею.
Спринг уже аннотациями базу захватил?
Тут есть хоть один у кого рабочий проект с этим делом?

Ну там возможность только запустить sql скрипт при старте приложения или flayway/liquidbase скрипты - магии особой нет

Не понял архитектуру и замысел.
Если так как ты написал, тогда это походит на выполнение скрипта из html.
17 май 20, 11:22    [22134452]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
>или flayway/liquidbase скрипты
= спринг знает про эти либы? Есть include какие то что ли о данных форматах?
17 май 20, 11:24    [22134454]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
PetroNotC Sharp
>или flayway/liquidbase скрипты
= спринг знает про эти либы? Есть include какие то что ли о данных форматах?

Ужос....
Почитал. Спринг и туда добрался.
Круто))
17 май 20, 11:27    [22134455]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
По сабжу - аннотации спринга = перебор.
Прогеру трудно выбирать, где они нужны и где не нужны.
Так как аннотирование превратилось в программирование.
17 май 20, 11:29    [22134456]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
PetroNotC Sharp

Не понял архитектуру и замысел.
Если так как ты написал, тогда это походит на выполнение скрипта из html.

По сути да. Такой же подход (создание базы из приложения) есть в hibernate, groovy on grails, ruby on rails и т.п. Это всего лишь возможность для особых случаев, никто не обязует так делать всегда

Сообщение было отредактировано: 17 май 20, 11:34
17 май 20, 11:35    [22134457]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan,
Ну, могу сказать про хибер. Эта фича у него естественна.
Вот и получается что спринг нагло влез на территорию хибера.
Ну а Ruby вроде к java не имеет отношения.
17 май 20, 11:39    [22134458]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
PetroNotC Sharp,

Тут имхо не важно хибер/руби или что там еще. Главное выбрать подход: создавать базу во время старта приложения или накатывать скрипты отдельно. Лично мне вообще не спокойно, если хиберу давать делать какие-то ddl операции. Кто знает, что он там начнет делать в случае обновления версий и т.п. - sql скрипты прозрачнее

Сообщение было отредактировано: 17 май 20, 11:48
17 май 20, 11:46    [22134466]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan,
ЗАДАЧА: Создать БД (тестовая?) во время старта ВЕБ ПРИЛОЖЕНИЯ (сервиса?)
......
Тут столько вопросов сразу возникает по уточнению ТЗ.
Что невольно спрашиваешь, нахрена тут спринг лезет вообще со своей аннотацией?
17 май 20, 12:01    [22134470]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
PetroNotC Sharp,

Для создания базы при старте приложения вообще не надо никаких аннотаций, это решается на уровне конфигураций. Создание базы и аннотации ТС-а это не связанные проблемы (ТС захотел просто использовать spring.datasource.continue-on-error = false, а это не совсем о его проблеме)
17 май 20, 12:37    [22134484]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Nixic

Особенно смущает последняя комбинация :)
Имеет право на жизнь такой код или аннотации перекрывают друг друга?

Поскольку декларативная наука "программирование на аннотациях" еще не сформировалась,
как отдельная отрасль - нам придется решать вопросы приоритета процессинга аннотаций
особенно если процессоров более чем один. Я думаю что это выльеться как минимум еще
в один язык программирования или мета-язык. И где-то на последних этапах переосмысления
мы придем вопросу принципиальной невозможности решать эти проблемы на мета-языке
и нам потребуется не мета-язык а ПОЛНОЦЕННЫЙ язык пре-процессинга наподобие языка
разработки. Или создадим язык-в-языке.
17 май 20, 12:53    [22134492]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan,
Аннотация это конфигурирование на сегодняшний день.
Или декларативное программирование.
Поэтому фраза: "не надо аннотаций но надо конфигурации"
вообще запутывает честного программиста.
А я говорил еще шире - какого рожна спринг лезет в базу. Хоть и скриптами?
17 май 20, 13:25    [22134505]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton,
Да. Бардак пока с идеологией.
Ведь тема про что?
ПЕРЕБОР АННОТАЦИЙ СПРИНГА
17 май 20, 13:27    [22134506]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Nixic
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД.


Этот вопрос - вообще не имеет отношения к Спрингу. Моя мысль такова - "Show must go on!"

Спринг должен стартовать в любом случае. Есть база или нет. Пул должен перейти в некое
закрытое состояние. И какое-то время (минуту или больше) давать мнговенный код ошибки
на любую попытку получить коннекшек к БД.

Здесь в помошь шаблон - аварийный размыкатель - Cirquit Breaker для предотвращения
долбёжки или висячих сокетов в направлении дохлой базы.

https://spring.io/guides/gs/circuit-breaker/

Моя идея станет более понятна если представить что База это просто очередной ресурс
которых сотни подключенных к приложению и гарантировать все-все из них поднятыми
очень проблемно. Полюбому кто-то будет отваливаться и падать. Теория надёжности
как-бе говорит нам.
17 май 20, 13:33    [22134510]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
PetroNotC Sharp
SpringMan,
Аннотация это конфигурирование на сегодняшний день.
Или декларативное программирование.
Поэтому фраза: "не надо аннотаций но надо конфигурации"
вообще запутывает честного программиста.
А я говорил еще шире - какого рожна спринг лезет в базу. Хоть и скриптами?

Аннотации это часть java языка, конфигурация spring.datasource.continue-on-error - это запись в properties/yaml файлике. Вроде ничего путанного нет. Спринг может лезть в базу, а может и не лезть. Кто хочет, чтобы лез, тот это настроит. Наличие возможности, даже такой, лучше, чем ее отсутствие

PetroNotC Sharp
mayton,
Да. Бардак пока с идеологией.
Ведь тема про что?
ПЕРЕБОР АННОТАЦИЙ СПРИНГА

Вот то, что мы полдня обсуждаем, это не относится к проблеме ТС-а. У него одна проблема - предшественник до него написал одну лишнюю аннотацию, которая не нужна.
17 май 20, 13:45    [22134513]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Увы. Таково течение коллективного разума. Он не всегда обсуждает то что надо автору.
17 май 20, 13:47    [22134515]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan,
Да. Конечно.
Мы обсуждаем фразу - название темы.
Буквально.
"Спринг много на себя берет". (с)
автор
Наличие возможности, даже такой, лучше, чем ее отсутствие

В архитектуре эта фраза антипаттерн.
17 май 20, 13:56    [22134518]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan,
автор
Вроде ничего путанного нет. Спринг может лезть в базу, а может и не лезть. Кто хочет, чтобы лез, тот это настроит.
скажи назначение приватных полей.
Пусть кто хочет лезет, кто хочет не лезет
17 май 20, 14:01    [22134520]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
Да, это очень похоже на антипаттерн. Но тут недавное по-моему asv79 с проблемой бегал. Надо обновить базу, доступа до нее нет, и фиг знает у кого он есть. Есть два пути:
1) Писать каждый раз кучу писем с кучей согласований, чтобы взяли твой скрипт и прогнали фиг знает кто, фиг знает когда и фиг знает какой результат у него будет
2) Встроить это в приложение, которое ты можешь обновлять куда быстрее
Первый способ конечно правильнее, но через какое-то время можно выбрать второй, как путь с меньшим сопротивлением

PetroNotC Sharp
SpringMan,
автор
Вроде ничего путанного нет. Спринг может лезть в базу, а может и не лезть. Кто хочет, чтобы лез, тот это настроит.
скажи назначение приватных полей.
Пусть кто хочет лезет, кто хочет не лезет

Имхо сравнение не совсем корректно. Спринг/приложение уже знает как попасть в базу. Если оно будет выполнять скрипты никакой дополнительной приватности не нарушается
17 май 20, 14:10    [22134530]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
SpringMan,
Откуда оно что знает?
У меня в бд имеет доступ jndi или пул.
Но спринг оказывается что то там знает....
17 май 20, 14:21    [22134537]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
https://www.codeflow.site/ru/article/spring-persistence-jpa-jndi-datasource
Тут вроде спринг никуда не лезет и спокойно уступает место JNDI, JPA, HIBER....
17 май 20, 14:27    [22134544]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
SpringMan
Member

Откуда:
Сообщений: 166
PetroNotC Sharp,

А больше ничего и не надо. Через jndi/pool можно точно также вызвать нужный скрипт, как и в спринговом приложении. И тот же спринг можно так же натравливать на jndi)
17 май 20, 14:31    [22134547]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
Nixic
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД.
Да, меня именно эта связка аннотаций смутила:
@Bean
@PostConstruct
а инжект Environment'а - фиг с ним :)


Не истины ради, а флейма для.
Проверка, на существование БД.
Если нету БД, то приложение падает.
(Для Spring Boot, на Kotlin)

@Configuration
@EnableJpaRepositories
open class Configuration {


    @Bean
    open fun missing(dataSource: DataSource): Boolean =
            ! dataSource.connection.isClosed

}


В принципе в бин можно добавить проверки, даже если есть соединение.
Главное Exception выкинуть.

В данном случае exception кидает "dataSource.connection"
18 май 20, 07:56    [22134769]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
а, вы про чистый Спринг. Там не проверял.

Но в Spring Boot 100% если база не доступна, приложение не стартанёт.

А какой у вас юскейс? Зачем хотите чтобы падало если базы нет? База не всегда доступна (если сеть упала или базу перезагрузили).
18 май 20, 09:42    [22134808]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Zzz79
Member

Откуда:
Сообщений: 168
PetroNotC Sharp
По сабжу - аннотации спринга = перебор.
Прогеру трудно выбирать, где они нужны и где не нужны.
Так как аннотирование превратилось в программирование.


а чем это плохо ?
огромные куски дубляжа упрятать в анотацию,главное что принменяющий ее человек понимал для чего она служит)

если ты пишешь @ConfigurationProperties( prefix="") разве это плохо?
в совокупности с форматом yml очень неплохо работает,можно делать дейтсвительно интересные вещи
18 май 20, 18:40    [22135228]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Zzz79,
Чем плохо декларативное программирование?
Тем что ты становишься конфигурастом а не программистом.
Спринг это же клей. Вот ты и клеишь программу.
Поэтому ты не знаешь что такое FK и оператор new object.
Что такое наследование и композиция.
....
Поэтому почему то становится проблемой "огромные куски дубляжа".
Проблема не раскрыта.
Имхо
18 май 20, 19:00    [22135240]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
У декларативности есть дефект. Она - ничего нем не говорит о порядке исполнения операций.
Конешно полагаясь на хронологический порядок аннотаций мы можем предполагать что
процессор аннотаций обработает их именно так. Но что делать когда этих процессоров несколько.
Lombok и Spring (примеру) умеют читать свой домен аннотаций. Но если возникает вопрос
"кто первый процессит" - то здесь декларативное программирование даёт сбой.

Оно (декларативное) - не знает кто первый. Нет у него такой опции как ранг аннотаций или ранг процессинга.
Тоже самое про maven. Maven - делкаративен. Но нам чисто по человечески иногда важно чтобы
в фазе билда работал сначала этот плагин а потом этот. Хотя они декларированы как одно-ранговые.
18 май 20, 19:04    [22135243]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
chpasha
Member

Откуда:
Сообщений: 9207
mayton
чисто по человечески иногда важно чтобы в фазе билда работал сначала этот плагин а потом этот.
но большую часть времени мы просто не хотим страдать херней, которая не является для нас самоцелью. Ни FK, ни оператор new, ни ручное выделение памяти для нас не самоцель. Кто хочет, пусть свою самооценку повышает - херачит тонны говнокода. Типа написал врукопашную глючный тормозной сервлет, во - программист. Засунул его с горем пополам в томкэт - еще и тру-админ. А скомпилировал самозапускающийся boot-jar за 3 секунды - конфигураст

Сообщение было отредактировано: 18 май 20, 19:14
18 май 20, 19:15    [22135251]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton,
Да можно и порядок и приоритет в принципе закодить.
Но препроцессинг ведь.
Заменяем код своими значками
@мойСуперКлючикСтрокаЗначок(....
18 май 20, 19:17    [22135253]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
chpasha,
Ты тоже прав.
Нужно в меру.
Нужно чтобы спринг знал меру))))
18 май 20, 19:20    [22135256]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Ну... яб сказал что самый первый вопрос которым должны мордовать и мучать бедного джуна
на техническом ревью - это Spring и жизненный цикл бина. Про что это?

Это именно про порядок инициализации заинжекченых полей и пропертей и пост-конструкторов
и прочего декралативного дерьма. Порядок сцуко - важен. На порядке инициализации 80% багов
прилетает. Особенно хреново когда есть race-conditions. И мультипоточка. И какие-то бл%дские
статические поля переменных. Там - вобще конь не валялся. И как всегда на тестах хорошо а в продуктиве
- падает.
18 май 20, 19:20    [22135258]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
PetroNotC Sharp
mayton,
Да можно и порядок и приоритет в принципе закодить.
Но препроцессинг ведь.
Заменяем код своими значками
@мойСуперКлючикСтрокаЗначок(....

Это - еще хуже.
18 май 20, 19:21    [22135259]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Zzz79
Member

Откуда:
Сообщений: 168
chpasha
mayton
чисто по человечески иногда важно чтобы в фазе билда работал сначала этот плагин а потом этот.
но большую часть времени мы просто не хотим страдать херней, которая не является для нас самоцелью. Ни FK, ни оператор new, ни ручное выделение памяти для нас не самоцель. Кто хочет, пусть свою самооценку повышает - херачит тонны говнокода. Типа написал врукопашную глючный тормозной сервлет, во - программист. Засунул его с горем пополам в томкэт - еще и тру-админ. А скомпилировал самозапускающийся boot-jar за 3 секунды - конфигураст

хаха в точку)
18 май 20, 20:34    [22135305]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Zzz79
Member

Откуда:
Сообщений: 168
PetroNotC Sharp
Zzz79,
Чем плохо декларативное программирование?
Тем что ты становишься конфигурастом а не программистом.
Спринг это же клей. Вот ты и клеишь программу.
Поэтому ты не знаешь что такое FK и оператор new object.
Что такое наследование и композиция.
....
Поэтому почему то становится проблемой "огромные куски дубляжа".
Проблема не раскрыта.
Имхо

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

а воплотить бизнес логику в код
18 май 20, 20:37    [22135309]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Проблема не в аннотациях, что вы к ним привязались?

Очевидный факт упускаете, что проблема в том что реализация этих аннотаций не видна программисту, т.к. она делается на этапе инициализации контекста и создания проки классов.

Это - основная проблема. Т.к. документация не всегда понятна и полна в Спринге. Да и всегда удобно код почитать.

А тут - не получится.

Вот за это я оч. уважаю AST аннотации\трансформации - т.к. там можно подебажить и посмотреть что конкретно происходит.
18 май 20, 21:38    [22135344]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Zzz79
Member

Откуда:
Сообщений: 168
dakeiras
Проблема не в аннотациях, что вы к ним привязались?

Очевидный факт упускаете, что проблема в том что реализация этих аннотаций не видна программисту, т.к. она делается на этапе инициализации контекста и создания проки классов.

Это - основная проблема. Т.к. документация не всегда понятна и полна в Спринге. Да и всегда удобно код почитать.

А тут - не получится.

Вот за это я оч. уважаю AST аннотации\трансформации - т.к. там можно подебажить и посмотреть что конкретно происходит.

очевидно если ты не понимаешь зачем анотация - не используй ее?)
в чем проблема?
что там читать код например при @ConfigProperties

вы давайте еще против ломбока выскажитесь



тут год назад были деятели,а сейчас без него как без рук- чтобы не плодить тонны говнокода


ребят программрование меняется- это как управление транспортным средством)
сначала ездили на лошадях и можно было направо ,налево и в бок и даже покакать на улице)
потом правила поменялись- нужно было жать педали и крутить баранку)
а сейчас есть тесла,которая едет сама при наличии тела за рулем)
вот и мы рано или поздно будем этими телами
а пока есть возможность думать самим радуйтесь)
18 май 20, 21:57    [22135361]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Ломбок это пародия на Груви.

А так я привык читать код библиотек которые использую.
Но в случае со Спрингом уже тоже свыкся...

Хотя давно могли также Intellij добавить поддержку просмотра gclib обработчиков аннотаций из кода приложения
18 май 20, 22:45    [22135380]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 80
Тут другое интересно. Насколько я помню, при разработке джавы один из лозунгов был что то вроде "как написано, так и работает". Под эту лавочку туда не стали добавлять плюсовые макросы, которые могут превратить код в адок. И даже псевдонимы типов не сделали...
А потом взяли и добавили рефлексию, аннотации, джава-агенты. В итоге получили тот же самый адок, только в профиль, и теперь все соревнуются, кто больше аннотаций изобретет и понавешает.
19 май 20, 08:03    [22135477]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 80
Но самый перебор, это конечно не аннотации. Самый перебор - это когда поведение зависит от наличия той или иной зависимости без какой либо явной конфигурации. Вот где абсолютное зло.
19 май 20, 08:09    [22135480]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Ржавый гвоздь
Тут другое интересно. Насколько я помню, при разработке джавы один из лозунгов был что то вроде "как написано, так и работает". Под эту лавочку туда не стали добавлять плюсовые макросы, которые могут превратить код в адок. И даже псевдонимы типов не сделали...
А потом взяли и добавили рефлексию, аннотации, джава-агенты. В итоге получили тот же самый адок, только в профиль, и теперь все соревнуются, кто больше аннотаций изобретет и понавешает.

Типа рефлексия это плохо?:) А как вы без неё сделаете модульное приложение расширяемое?
19 май 20, 09:12    [22135505]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 80
dakeiras

Типа рефлексия это плохо?:) А как вы без неё сделаете модульное приложение расширяемое?

Не всегда и не везде плохо. Но когда ее используют и где надо и где не надо - от нее больше вреда, чем пользы. Засилие аннотаций - типичный вредный пример, а какой нибудь сериализатор - вполне хороший.
19 май 20, 09:19    [22135509]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 80
Что касается модульных приложений, тот тут в подавляющем большинстве случаев никакая рефлексия не нужна, достаточно возможности загрузить класс и работать с ним через интерфейс.
19 май 20, 09:22    [22135511]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Ржавый гвоздь
Что касается модульных приложений, тот тут в подавляющем большинстве случаев никакая рефлексия не нужна, достаточно возможности загрузить класс и работать с ним через интерфейс.

как вы загрузите класс по имени без рефлексии?
19 май 20, 09:41    [22135521]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
chpasha
Member

Откуда:
Сообщений: 9207
Ржавый гвоздь
Вот где абсолютное зло.

просто уже ткни сосиской туда, где абсолютное добро, мы закроем ветку и просто уйдем все туда, где ништяки и нет макросов с рефлексией.
19 май 20, 09:53    [22135529]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Ржавый гвоздь
Member

Откуда:
Сообщений: 80
dakeiras

как вы загрузите класс по имени без рефлексии?

Вот еще о терминах спорить не хватало. По моему, я предельно ясно пояснил, что именно имею в виду.
chpasha

просто уже ткни сосиской туда, где абсолютное добро

Понятия не имею. Но есть у меня подозрение, что добро должно коррелировать с количеством здравого смысла у разработчиков. У разрабов спринга он точно давно уже не ночевал.
19 май 20, 10:18    [22135550]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras,

dakeiras
как вы загрузите класс по имени без рефлексии?


Java SPI например.

Сообщение было отредактировано: 19 май 20, 11:09
19 май 20, 11:09    [22135587]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Ржавый гвоздь
Тут другое интересно. Насколько я помню, при разработке джавы один из лозунгов был что то вроде "как написано, так и работает". Под эту лавочку туда не стали добавлять плюсовые макросы, которые могут превратить код в адок. И даже псевдонимы типов не сделали...
А потом взяли и добавили рефлексию, аннотации, джава-агенты. В итоге получили тот же самый адок, только в профиль, и теперь все соревнуются, кто больше аннотаций изобретет и понавешает.

+1
19 май 20, 11:11    [22135589]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras,
А че тебя рефлексия зацепила?
Самый простой ответ раширяемого приложения это REST.
19 май 20, 11:15    [22135596]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
mayton

Тоже самое про maven. Maven - делкаративен. Но нам чисто по человечески иногда важно чтобы
в фазе билда работал сначала этот плагин а потом этот. Хотя они декларированы как одно-ранговые.


В маевке это как раз таки детерминировано.
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Plugins
When multiple executions are given that match a particular phase, they are executed in the order specified in the POM, with inherited executions running first.
19 май 20, 11:16    [22135599]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Zzz79,
автор
как по мне петро ты немного путаешь)
без анотаций ты становишься конфигурастом- а с анотациями программистом-

Дак есть пример - 1Сники.
Они открывают конфигуратор и работают без new.
А ты мне доказываешь что тот кто new не знает программист)))))
19 май 20, 11:18    [22135600]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Lelouch
mayton

Тоже самое про maven. Maven - делкаративен. Но нам чисто по человечески иногда важно чтобы
в фазе билда работал сначала этот плагин а потом этот. Хотя они декларированы как одно-ранговые.


В маевке это как раз таки детерминировано.
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Plugins
When multiple executions are given that match a particular phase, they are executed in the order specified in the POM, with inherited executions running first.

Да. Это типичное отклонение от декларативности. Вроде и декларативно. Но в то-же время
есть "процедура" или "рецепт" к выполнению.
19 май 20, 11:36    [22135617]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras,

dakeiras
как вы загрузите класс по имени без рефлексии?


Java SPI например.

это древнее неудобное г. для Java SE.

Вы сами этим пользовались перед тем как советовать?
19 май 20, 11:48    [22135628]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
PetroNotC Sharp
dakeiras,
А че тебя рефлексия зацепила?
Самый простой ответ раширяемого приложения это REST.


Ну REST это да, модульно:) RPC ещё. Ведь рефлексия это же так медленно (нет).
19 май 20, 11:51    [22135634]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras,

1) я не советовал, а отвечал на вопрос "как загрузить класс без рефлексии"
2) Да, пользовался, даже свои Service Provider писал

dakeiras
Ведь рефлексия это же так медленно (нет).

Видимо из-за того, что она такая быстрая (нет, она медленная) тот же Jackson кеширует информацию о типах...

Сообщение было отредактировано: 19 май 20, 11:55
19 май 20, 11:54    [22135641]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras
PetroNotC Sharp
dakeiras,
А че тебя рефлексия зацепила?
Самый простой ответ раширяемого приложения это REST.


Ну REST это да, модульно:) RPC ещё. Ведь рефлексия это же так медленно (нет).

Зря иронизируете.
Вы просто связали рефлексию и модульность ПРИЛОЖЕНИЯ.
Это как связать болт и самолет.
Не связывается это в одно приложение осмысленное.
19 май 20, 11:58    [22135646]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
автор
Не связывается это в одно приложение предложение осмысленное.
19 май 20, 12:00    [22135648]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
chpasha
Member

Откуда:
Сообщений: 9207
Петро, пока тебя не было, на sql.ru редактирование постов завезли ;)
19 май 20, 12:03    [22135650]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
chpasha,
Давно меня не было)).
А вот цитирование выделенного в хроме смартфонном не работает))).
Sql.ru не догадалось с кнопки всплывающей в ГУИ продублировать команду на кнопку под постом Цитировать.
Ну а хром убирает кнопку от sql.ru команды.
19 май 20, 12:15    [22135660]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Рефлексия и модульность это синонимы. Альтернатива рефлексии статический биндинг, но он не масштабируется.

Под рефлексией я подразумеваю в данном контексте Class.forName().newInstance.
19 май 20, 12:23    [22135669]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Есть ещё одна альтернатива - run-time компиляция (Груви), она позволяет добиться модульности без использования рефлексии. Но это не всегда нужно, а по производительности одинаково (инстанциирование экземпляра класса).
19 май 20, 12:26    [22135672]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras
Рефлексия и модульность это синонимы.
пруф есть? Вы меня удивили.
Рефлексия это уровень кода.
Модульность это АРХИТЕКТУРА.
19 май 20, 12:28    [22135673]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
PetroNotC Sharp,

Ну а как иначе в приложении на Яве поддержать плагины (модули)?

Или Вы под модулями понимаете модули Maven/Gradle?
Так это не те модули :) Их неправильно назвали модулями, на самом деле это просто приложения сгруппированные в общую последовательность сборки. А не модули никакие конечно.
19 май 20, 12:53    [22135702]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.
19 май 20, 12:59    [22135710]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
PetroNotC Sharp
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.


ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?

Через jndi разве что? Но это усложняет довольно сильно.
19 май 20, 13:06    [22135719]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?
В класспутя добавить или это слишком просто?
19 май 20, 13:19    [22135738]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Basil A. Sidorov
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?
В класспутя добавить или это слишком просто?

и инстациировать как?
19 май 20, 13:48    [22135773]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?

Можно целую тему создать. Тысячи решений.
1. Учитывая мейнстрим сейчас модуль приравнивается к сервису.
Заметь, слово микросервис я не люблю.
Поддержку в ИС дополнительно к своим 15-ти сервисам ещё воткнуть сервис по продаже авиабилетов нет проблем?
19 май 20, 13:59    [22135780]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
и инстациировать как?
Ну интерфейс-то вы знаете?
Конкретную реализацию умеет выбирать SPI.
19 май 20, 14:17    [22135799]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
вот. Приходим к @Service и context.getBean("beanName").

Что является альтернативой рефлексии при использовании Спринга.

Хотя я одинаково часто использую и context.getAutowireBeanCapableFactory().autowireBean(myPojo) где myPojo инстанциируется через рефлексию, но имеет @Autowired поля.
19 май 20, 14:23    [22135808]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
PetroNotC Sharp
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.

Я-бы различал модули maven-based проекта. Они полезны когда например
есть дистрибуция приложения частями. И вы можете поставлять например
изменившиеся DAO которые зависят от изменившися SOAP wsdl протоколов.

Отдельно - стоит различать OSGI bundles. Которые очень любит Deuche Bank.
Да и прочие европейские банки. Любой пустяк в них заворачивают.

И отдельно - модули Java-9. Все таки они - технологически другие.

Тоесть спор о модулях - это сложный спор. И его надо начинать в контексте хотя-бы
общего понимания. Я вот например видел много проектов с модулями maven/gradle
но я не уверен что модули gradle - это тоже самое.

Сообщение было отредактировано: 19 май 20, 14:23
19 май 20, 14:25    [22135809]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Basil A. Sidorov
dakeiras
и инстациировать как?
Ну интерфейс-то вы знаете?
Конкретную реализацию умеет выбирать SPI.


А когда много реализаций? По имени он же не умеет выбирать, да?

Т.е. когда выбранный плагин задаётся в конфиге, это уже не работает.

Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
19 май 20, 14:28    [22135812]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
вот.
Что "вот"?
Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии.
Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию.
Можно, наверное, и через j.l.invoke работать (Java 7+).
19 май 20, 14:39    [22135822]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
Передайте строку в конструктор и возвращайте нужный из набора (приватных) вложенных классов - общий интерфейс и столько реализаций, сколько требуется.
19 май 20, 14:42    [22135826]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
dakeiras
вот. Приходим к @Service и context.getBean("beanName").

Что является альтернативой рефлексии при использовании Спринга.

Кодогенерация.
19 май 20, 14:56    [22135844]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Basil A. Sidorov
dakeiras
Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
Передайте строку в конструктор и возвращайте нужный из набора (приватных) вложенных классов - общий интерфейс и столько реализаций, сколько требуется.


А откуда вы знаете как будет называться произвольная реализация заранее?
19 май 20, 15:07    [22135857]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
А откуда вы знаете как будет называться произвольная реализация заранее?
А зачем вам знать, как называется то, что ещё не существует?
Хотя, кодогенерация и эту проблему позволяет порешать.
19 май 20, 15:08    [22135859]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Basil A. Sidorov
dakeiras
вот.
Что "вот"?
Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии.
Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию.
Можно, наверное, и через j.l.invoke работать (Java 7+).

Короче нет альтернатив рефлексии :)
19 май 20, 15:08    [22135860]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Basil A. Sidorov
dakeiras
А откуда вы знаете как будет называться произвольная реализация заранее?
А зачем вам знать, как называется то, что ещё не существует?
Хотя, кодогенерация и эту проблему позволяет порешать.


В смысле зачем?? У вас есть система плагинов, вы их загружаете по конфигу.

Ни названия плагинов ни конфиг заранее не известны.
19 май 20, 15:09    [22135862]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
Короче нет альтернатив рефлексии :)
Есть. Нет поддержки со стороны средств разработки и сборки.
Ну так это не достоинство рефлексии, а недостаток инструментария.
19 май 20, 15:09    [22135863]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras,
В плагинах все натыкается на бизнес логику того чего еще не существует.
Ну будет у тебя меню с п.п. Сервисы где 25 пунктов это запуск а ля dll в папке /plugins/
Информационная система все равно Г.
Если это не фотошоп с плагинами.
19 май 20, 15:54    [22135893]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Сорри но вы просто оправдываете свою предвзятость по отношению к рефлексии, уши этого тянутся с 2005 года когда она тормозила и была плохой практикой, что уже давно не так.
19 май 20, 16:08    [22135901]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего.

Тоесть просто обеспечить вызов плагина это еще пол-дела. А вот проверить что он не содержит угроз.
Как минимум проверить его Digital Signature и сконфигурить окружение Security Manager чтоб плагин
работал в коробочке с минимумом привилегий. Вот это челендж.

А рефлексия - это так. Мелочи.
19 май 20, 16:14    [22135907]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
dakeiras
вы просто оправдываете свою предвзятость по отношению к рефлексии
А вы - своё нежелание даже знать о существовании (условно) новых возможностей.
19 май 20, 16:29    [22135918]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
mayton
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего.

Тоесть просто обеспечить вызов плагина это еще пол-дела. А вот проверить что он не содержит угроз.
Как минимум проверить его Digital Signature и сконфигурить окружение Security Manager чтоб плагин
работал в коробочке с минимумом привилегий. Вот это челендж.

А рефлексия - это так. Мелочи.

Пример: телеграм чат бот с готовым движком. Вы его добавляете как зависимость (либо скачиваете исполняемый jar), он уже содержит всё необходимое включая Spring Boot и готов к запуску.

Далее добавляете в него команды (типа /mycommand в чате с ботом) в виде классов (либо копируя плагины в ./plugins).

Имя класса=имя команды бота.
Бот заранее не знает какие будут в нём команды.

Плагины разрабатываете Вы сами.
Какая тут дыра в безопасности? Не нужны никакие подписи. Вы же себе доверяете сами, правильно?
19 май 20, 16:54    [22135934]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras,
Какие детские примеры с чатами и чатиками.
Давай корпоратив.
Мы же в java.
19 май 20, 17:04    [22135941]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
dakeiras, ты вообще мою мысль не понял. Кто сказал что ты сам плагины делаешь?
19 май 20, 17:04    [22135943]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
так а кто сказал что стороние плагины?

Ок, не нравится пример с чат ботом, вот другой пример: ETL. Допустим вы не используете Talend, а у вас какой-то простой свой ETL.
Плагин на вход - плагин на выход.
19 май 20, 17:29    [22135958]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
И кстати чат бот совсем не детский пример. Чат бот это такой же фронтэнд канал как и мобильное приложение.

И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью.
19 май 20, 17:32    [22135959]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Ну ты понимешь что плагины - это инжекция чужого кода в твоё приложение.

И то что ты тестил своё приложение тыщу раз вовсе не отменяет тот факт что любой кодер шутки
ради сможет удалить все файлы твоего /home/{userName} просто так.

Но если глубина моих глубин тебе непонятна - то ладно забей. Это я так... отклонился в сторону.

Это кстати тоже с рефлексией и класслоадером тесно связано. Уж коли на то пошло.
19 май 20, 17:52    [22135965]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras

И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью.

Мы таких не знаем. Рассказывай.
Мы пару часов послушаем. Вникнем.
19 май 20, 18:32    [22135985]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
PetroNotC Sharp
dakeiras

И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью.

Мы таких не знаем. Рассказывай.
Мы пару часов послушаем. Вникнем.

ну я делал пару таких, один на проде уже года 2, другой для стартапа.

Чат бот с поддержкой step up authorization, SMS/Email OTP, , плагинов. Могу если интересно выложить исходники движка.
20 май 20, 04:52    [22136143]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Ай, да что уж там томить, вот он, великий и ужасный:

https://github.com/INFINITE-TECHNOLOGY/DAVID

Работает на проде в фин. тех банке несколько лет.

Ну что, поцоны ваще ребята, да? :)

А если серьёзно, в мире Телеграм ботов это остров надежды. Советую юзать это, если делаете бота своего.
20 май 20, 08:02    [22136164]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
dakeiras,
Могу по статистике тебе сказать.
Что в гитхаб заглянул один мембер из всех.
Рассказывать надо, а не ссылки кидать.
Или ссылку на Статью.
Презентовать решение).
20 май 20, 09:56    [22136210]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Ноль форков. Никто себе не сделал копию для изменений. И ноль звездочек. Отношение - так себе. Нейтральное.
20 май 20, 09:59    [22136213]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton,
Вот представь, сидит босс.
Тут приходит чел и говорит что нам нужен телеграмм боты.
Превый вопрос: "это что такое? Мессенджер что ли"?
"Зачем нам мессенджер "?
....
Нужно на пальцах объяснить))
20 май 20, 10:35    [22136231]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
mayton
Ноль форков. Никто себе не сделал копию для изменений. И ноль звездочек. Отношение - так себе. Нейтральное.


Я впервый раз запостил тут, погодите. Сейчас напишу в группу telegram bots, там иранцы офигеют и поставят звёздочки:)

Но сначала хотел бы улучшить документацию, и возможно пока выпилить Ascend из бота, а то неподготовленные умы оплавятся от такого :)
20 май 20, 10:43    [22136238]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
PetroNotC Sharp
mayton,
Вот представь, сидит босс.
Тут приходит чел и говорит что нам нужен телеграмм боты.
Превый вопрос: "это что такое? Мессенджер что ли"?
"Зачем нам мессенджер "?
....
Нужно на пальцах объяснить))

Я верю в способность босса нюхом чувствовать рынок. А если его это не зацепит
в первые 30 секунд - то идея тухляк. И ее можно отложить еще на 2-3 года.
20 май 20, 10:52    [22136244]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
mayton,
Именно. У чела есть 30 сек чтобы босс въехал в предложение.
Даже если взять СССР, то это документ Концепция на 1 лист А4 в ворде.
20 май 20, 10:57    [22136250]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
dakeiras
mayton
Ноль форков. Никто себе не сделал копию для изменений. И ноль звездочек. Отношение - так себе. Нейтральное.


Я впервый раз запостил тут, погодите. Сейчас напишу в группу telegram bots, там иранцы офигеют и поставят звёздочки:)

Но сначала хотел бы улучшить документацию, и возможно пока выпилить Ascend из бота, а то неподготовленные умы оплавятся от такого :)

Зачем?
20 май 20, 10:59    [22136252]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
andreykaT
Member

Откуда:
Сообщений: 2794
PetroNotC Sharp
По сабжу - аннотации спринга = перебор.
Прогеру трудно выбирать, где они нужны и где не нужны.
Так как аннотирование превратилось в программирование.

юзай плей. там почти нет аннотаций. только от гуиса.
21 май 20, 22:06    [22137360]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10171
PetroNotC Sharp
Даже если взять СССР, то это документ Концепция на 1 лист А4 в ворде.
В СССР не было не только "секса", но "ворда".

P.S.
Нет, текстовые редакторы были.
Коллега, помнится, печатал "рассылку" (шаблон плюс список) для многих человек на ДВК-4 плюс "Роботрон". Редактор, вроде, "Мир" назывался. Не помню точно.
22 май 20, 09:21    [22137472]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras
Ай, да что уж там томить, вот он, великий и ужасный:

https://github.com/INFINITE-TECHNOLOGY/DAVID

Работает на проде в фин. тех банке несколько лет.

Ну что, поцоны ваще ребята, да? :)

А если серьёзно, в мире Телеграм ботов это остров надежды. Советую юзать это, если делаете бота своего.


Зачем? Что даст? Что ускорит при разработке?

dakeiras
@SpringBootApplication(scanBasePackages = ["io.infinite.ascend", "io.infinite.david"])

То есть Spring Boot Autoconfiguration вы тоже не освоили.
22 май 20, 10:59    [22137548]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
автор
То есть Spring Boot Autoconfiguration вы тоже не освоили.

Что такое Spring Boot Autoconfiguration и чем оно отличается от обычного @EnableAutoConfiguration?

Помоему это Вы не освоили, либо недопоняли что-то.

автор
Зачем? Что даст? Что ускорит при разработке?

Даст готовую основу с Spring Boot и многопоточную модель взаимодействия с пользователями (обработка ввода-вывода) + сессию пользователя. Т.е. весь движок чат бота.
На выходе это даст качественный UX.

Соотвественно останется только реализовать конкретные команды бота.
22 май 20, 11:23    [22137568]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
dakeiras
автор
То есть Spring Boot Autoconfiguration вы тоже не освоили.

Что такое Spring Boot Autoconfiguration и чем оно отличается от обычного @EnableAutoConfiguration?


Тем, что в своем модуле, вы делаете конфигурацию "по умолчанию".
Которая позволяет, при подключении вашего модуля к проекту "из коробки" получить уже настроенное поведение.
Без использования аннотаций, а только указаний специфичных для вашего модуля настроек в "properties" файле.
22 май 20, 11:45    [22137585]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Ascend это JAR зависимость. Я вообще не понимаю о чём вы говорите.

Как ещё добавить в контекст бины из JAR зависимости?

Наверное если добавлена такая аннотация, то не просто так?
22 май 20, 12:04    [22137598]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras,

dakeiras
Даст готовую основу с Spring Boot и многопоточную модель взаимодействия с пользователями (обработка ввода-вывода) + сессию пользователя. Т.е. весь движок чат бота.
На выходе это даст качественный UX.

Что из этого мне не даст Спринг + полдня разбора документации Telegram? :)
22 май 20, 12:18    [22137605]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras

Как ещё добавить в контекст бины из JAR зависимости?


Так и быть:
https://lmgtfy.com/?q=spring boot custom auto configuration
22 май 20, 12:20    [22137608]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras,

dakeiras
Даст готовую основу с Spring Boot и многопоточную модель взаимодействия с пользователями (обработка ввода-вывода) + сессию пользователя. Т.е. весь движок чат бота.
На выходе это даст качественный UX.

Что из этого мне не даст Спринг + полдня разбора документации Telegram? :)


Вам ничего не даст, т.к. вы эксперт по Java и Spring.

А вот сидя в группе в Телеге по "telegram chat bots" (Java реализация Telegram Chat Bot API) - там сидят гопники и иранцы, которые не могут скомпилить приложение даже.

Для них добавить БД проблема, тем более спринг. Поэтому сделал для них. Хотя ещё не давал им ссылку - надо сначала сделать документацию.

+ готов к деплою на хероку (с этим сложности почему-то у некоторых людей возникают)
+ многопоточная модель - позволяет интерактивное выполнение с пользовательском вводом в рамках 1 метода - этого нет в библиотеке telegram chat bots
22 май 20, 12:23    [22137611]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
т.к. чат ботов в основном пишут чтобы на биткоинах кого-то нагреть.
22 май 20, 12:24    [22137613]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras
т.к. чат ботов в основном пишут чтобы на биткоинах кого-то нагреть.


Хорошо, https://azure.microsoft.com/en-us/services/bot-service/#getting-started - в чем ваше преимущество?
22 май 20, 12:34    [22137624]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras

Как ещё добавить в контекст бины из JAR зависимости?


Так и быть:
https://lmgtfy.com/?q=spring boot custom auto configuration


https://docs.spring.io/spring-boot/docs/2.0.0.M5/reference/html/boot-features-developing-auto-configuration.html

Это? Нет не знал. Я первый раз делаю Spring Boot библиотеку.
Далеко не всегда это требуется.

Посмотрю, добавлю в Ascend. Там много чего можно добавить из того же Keycloak Spring.
22 май 20, 12:37    [22137626]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras
т.к. чат ботов в основном пишут чтобы на биткоинах кого-то нагреть.


Хорошо, https://azure.microsoft.com/en-us/services/bot-service/#getting-started - в чем ваше преимущество?


Идея отличная. Но их Java API - это страх божий.

Посмотрите:
https://github.com/microsoft/botbuilder-java/tree/master/samples/45.state-management/src/main/java/com/microsoft/bot/sample/statemanagement

Всё на флагах работает:

https://github.com/microsoft/botbuilder-java/blob/master/samples/45.state-management/src/main/java/com/microsoft/bot/sample/statemanagement/ConversationData.java

private boolean promptedUserForName;


Посмотрите как реализованы команды в Дэвиде.
https://github.com/INFINITE-TECHNOLOGY/DAVID/blob/master/david-sdk/src/main/groovy/io/infinite/david/abilities/History.groovy

String tranCount = waitForInput(15)


Всё в 1 файле, интерактивно с пользовательским вводом, лаконично.

Microsoft, что ты сделал?...:(

Идея и возможности были отличные, но код кошмар какой-то получается.

Сообщение было отредактировано: 22 май 20, 13:25
22 май 20, 13:24    [22137665]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
https://www.sql.ru/forum/1323614/ochen-mnogo-completablefuture
22 май 20, 13:53    [22137696]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras,

Так а зачем там на java писать? Если индусы или для кого вы там API делаете настолько не умеют java - пусть пишут на C# или питоне)
22 май 20, 16:35    [22137801]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Ну наверное да.. Надеюсь что с C# там получше, хотя тоже терзают сомнения.

Ну и Microsoft как обычно не может по нормальному сделать, сам уровень абстракции Bot API как я понимаю только черещ шину работает, через Azure.

Т.е. нельзя без интеграции с Azure всё это развернуть, как я понял (хотя сам бот можно отдельно - но он будет ломиться в Azure).
22 май 20, 16:39    [22137804]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras,

Картинка с другого сайта.
22 май 20, 16:54    [22137815]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras,

Картинка с другого сайта.


Да, я это и написал. Но ломиться это будет всё равно в Азур. Без Азура не будет работать.
22 май 20, 17:31    [22137835]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras
Lelouch
dakeiras,

Картинка с другого сайта.


Да, я это и написал. Но ломиться это будет всё равно в Азур. Без Азура не будет работать.


С чего вы взяли?))
22 май 20, 20:25    [22137914]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras
пропущено...


Да, я это и написал. Но ломиться это будет всё равно в Азур. Без Азура не будет работать.


С чего вы взяли?))


https://github.com/microsoft/botframework-sdk#channels-and-adapters

К сообщению приложен файл. Размер - 94Kb
22 май 20, 21:22    [22137940]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
+ тот факт что я не вижу standalone Telegram Bot API Implementation от Microsoft, которым можно было бы воспользоваться отдельно.

А то может я бы поглядел на него вместо библиотеки "Telegram Chat Bots" - к ней есть претензии...
22 май 20, 21:26    [22137943]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1849
dakeiras
Lelouch
пропущено...


С чего вы взяли?))


https://github.com/microsoft/botframework-sdk#channels-and-adapters


Так платить то за это не придется. Если я правильно понимаю telegram относится к стандартным каналам, так что там нет лимита бесплатных сообщений.
22 май 20, 22:21    [22137970]     Ответить | Цитировать Сообщить модератору
 Re: Аннотации спринга, по-моему перебор, не? :)  [new]
dakeiras
Member

Откуда:
Сообщений: 444
Lelouch
dakeiras
пропущено...


https://github.com/microsoft/botframework-sdk#channels-and-adapters


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


Вроде не придётся, тоже так понял.
22 май 20, 22:27    [22137974]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
Все форумы / Java Ответить