|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга? Можно целую тему создать. Тысячи решений. 1. Учитывая мейнстрим сейчас модуль приравнивается к сервису. Заметь, слово микросервис я не люблю. Поддержку в ИС дополнительно к своим 15-ти сервисам ещё воткнуть сервис по продаже авиабилетов нет проблем? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 13:59 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras и инстациировать как? Конкретную реализацию умеет выбирать SPI. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:17 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
вот. Приходим к @Service и context.getBean("beanName"). Что является альтернативой рефлексии при использовании Спринга. Хотя я одинаково часто использую и context.getAutowireBeanCapableFactory().autowireBean(myPojo) где myPojo инстанциируется через рефлексию, но имеет @Autowired поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:23 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp dakeiras, а что такое модули? В дельфи же тоже есть рефлексия. Это просто найти название метода и его вызвать в рантайме. Но модульность (плагинообразность) делают совершенно по другому. Я-бы различал модули maven-based проекта. Они полезны когда например есть дистрибуция приложения частями. И вы можете поставлять например изменившиеся DAO которые зависят от изменившися SOAP wsdl протоколов. Отдельно - стоит различать OSGI bundles. Которые очень любит Deuche Bank. Да и прочие европейские банки. Любой пустяк в них заворачивают. И отдельно - модули Java-9 . Все таки они - технологически другие. Тоесть спор о модулях - это сложный спор. И его надо начинать в контексте хотя-бы общего понимания. Я вот например видел много проектов с модулями maven/gradle но я не уверен что модули gradle - это тоже самое. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:25 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov dakeiras и инстациировать как? Конкретную реализацию умеет выбирать SPI. А когда много реализаций? По имени он же не умеет выбирать, да? Т.е. когда выбранный плагин задаётся в конфиге, это уже не работает. Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:28 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras вот. Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии. Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию. Можно, наверное, и через j.l.invoke работать (Java 7+). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:39 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:42 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras вот. Приходим к @Service и context.getBean("beanName"). Что является альтернативой рефлексии при использовании Спринга. Кодогенерация. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 14:56 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov dakeiras Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается. А откуда вы знаете как будет называться произвольная реализация заранее? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 15:07 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras А откуда вы знаете как будет называться произвольная реализация заранее? Хотя, кодогенерация и эту проблему позволяет порешать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 15:08 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov dakeiras вот. Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии. Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию. Можно, наверное, и через j.l.invoke работать (Java 7+). Короче нет альтернатив рефлексии :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 15:08 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov dakeiras А откуда вы знаете как будет называться произвольная реализация заранее? Хотя, кодогенерация и эту проблему позволяет порешать. В смысле зачем?? У вас есть система плагинов, вы их загружаете по конфигу. Ни названия плагинов ни конфиг заранее не известны. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 15:09 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras Короче нет альтернатив рефлексии :) Ну так это не достоинство рефлексии, а недостаток инструментария. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 15:09 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras, В плагинах все натыкается на бизнес логику того чего еще не существует. Ну будет у тебя меню с п.п. Сервисы где 25 пунктов это запуск а ля dll в папке /plugins/ Информационная система все равно Г. Если это не фотошоп с плагинами. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 15:54 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Сорри но вы просто оправдываете свою предвзятость по отношению к рефлексии, уши этого тянутся с 2005 года когда она тормозила и была плохой практикой, что уже давно не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 16:08 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего. Тоесть просто обеспечить вызов плагина это еще пол-дела. А вот проверить что он не содержит угроз. Как минимум проверить его Digital Signature и сконфигурить окружение Security Manager чтоб плагин работал в коробочке с минимумом привилегий. Вот это челендж. А рефлексия - это так. Мелочи. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 16:14 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras вы просто оправдываете свою предвзятость по отношению к рефлексии ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 16:29 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
mayton Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего. Тоесть просто обеспечить вызов плагина это еще пол-дела. А вот проверить что он не содержит угроз. Как минимум проверить его Digital Signature и сконфигурить окружение Security Manager чтоб плагин работал в коробочке с минимумом привилегий. Вот это челендж. А рефлексия - это так. Мелочи. Пример: телеграм чат бот с готовым движком. Вы его добавляете как зависимость (либо скачиваете исполняемый jar), он уже содержит всё необходимое включая Spring Boot и готов к запуску. Далее добавляете в него команды (типа /mycommand в чате с ботом) в виде классов (либо копируя плагины в ./plugins). Имя класса=имя команды бота. Бот заранее не знает какие будут в нём команды. Плагины разрабатываете Вы сами. Какая тут дыра в безопасности? Не нужны никакие подписи. Вы же себе доверяете сами, правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 16:54 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras, Какие детские примеры с чатами и чатиками. Давай корпоратив. Мы же в java. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 17:04 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras, ты вообще мою мысль не понял. Кто сказал что ты сам плагины делаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 17:04 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
так а кто сказал что стороние плагины? Ок, не нравится пример с чат ботом, вот другой пример: ETL. Допустим вы не используете Talend, а у вас какой-то простой свой ETL. Плагин на вход - плагин на выход. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 17:29 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
И кстати чат бот совсем не детский пример. Чат бот это такой же фронтэнд канал как и мобильное приложение. И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 17:32 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Ну ты понимешь что плагины - это инжекция чужого кода в твоё приложение. И то что ты тестил своё приложение тыщу раз вовсе не отменяет тот факт что любой кодер шутки ради сможет удалить все файлы твоего /home/{userName} просто так. Но если глубина моих глубин тебе непонятна - то ладно забей. Это я так... отклонился в сторону. Это кстати тоже с рефлексией и класслоадером тесно связано. Уж коли на то пошло. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 17:52 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
dakeiras И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью. Мы таких не знаем. Рассказывай. Мы пару часов послушаем. Вникнем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2020, 18:32 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp dakeiras И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью. Мы таких не знаем. Рассказывай. Мы пару часов послушаем. Вникнем. ну я делал пару таких, один на проде уже года 2, другой для стартапа. Чат бот с поддержкой step up authorization, SMS/Email OTP, , плагинов. Могу если интересно выложить исходники движка. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2020, 04:52 |
|
|
start [/forum/topic.php?fid=59&msg=39959524&tid=2120799]: |
0ms |
get settings: |
12ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
66ms |
get topic data: |
4ms |
get forum data: |
1ms |
get page messages: |
404ms |
get tp. blocked users: |
0ms |
others: | 293ms |
total: | 788ms |
0 / 0 |