| 
 | 
| 
 
Аннотации спринга, по-моему перебор, не? :) 
 | 
|||
|---|---|---|---|
| 
 #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=39959522&tid=2120799]:  | 
    0ms | 
get settings:  | 
    12ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    48ms | 
get topic data:  | 
    9ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    56ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 248ms | 
| total: | 397ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.