powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотации спринга, по-моему перебор, не? :)
25 сообщений из 131, страница 4 из 6
Аннотации спринга, по-моему перебор, не? :)
    #39959458
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?

Можно целую тему создать. Тысячи решений.
1. Учитывая мейнстрим сейчас модуль приравнивается к сервису.
Заметь, слово микросервис я не люблю.
Поддержку в ИС дополнительно к своим 15-ти сервисам ещё воткнуть сервис по продаже авиабилетов нет проблем?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959476
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
и инстациировать как?
Ну интерфейс-то вы знаете?
Конкретную реализацию умеет выбирать SPI.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959482
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот. Приходим к @Service и context.getBean("beanName").

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

Хотя я одинаково часто использую и context.getAutowireBeanCapableFactory().autowireBean(myPojo) где myPojo инстанциируется через рефлексию, но имеет @Autowired поля.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959483
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.

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

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

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

Тоесть спор о модулях - это сложный спор. И его надо начинать в контексте хотя-бы
общего понимания. Я вот например видел много проектов с модулями maven/gradle
но я не уверен что модули gradle - это тоже самое.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959486
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
и инстациировать как?
Ну интерфейс-то вы знаете?
Конкретную реализацию умеет выбирать SPI.


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

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

Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959494
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
вот.
Что "вот"?
Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии.
Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию.
Можно, наверное, и через j.l.invoke работать (Java 7+).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959498
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
Передайте строку в конструктор и возвращайте нужный из набора (приватных) вложенных классов - общий интерфейс и столько реализаций, сколько требуется.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959516
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
вот. Приходим к @Service и context.getBean("beanName").

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

Кодогенерация.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959522
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
Передайте строку в конструктор и возвращайте нужный из набора (приватных) вложенных классов - общий интерфейс и столько реализаций, сколько требуется.


А откуда вы знаете как будет называться произвольная реализация заранее?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959524
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
А откуда вы знаете как будет называться произвольная реализация заранее?
А зачем вам знать, как называется то, что ещё не существует?
Хотя, кодогенерация и эту проблему позволяет порешать.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959525
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
вот.
Что "вот"?
Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии.
Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию.
Можно, наверное, и через j.l.invoke работать (Java 7+).

Короче нет альтернатив рефлексии :)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959526
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
А откуда вы знаете как будет называться произвольная реализация заранее?
А зачем вам знать, как называется то, что ещё не существует?
Хотя, кодогенерация и эту проблему позволяет порешать.


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

Ни названия плагинов ни конфиг заранее не известны.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959527
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Короче нет альтернатив рефлексии :)
Есть. Нет поддержки со стороны средств разработки и сборки.
Ну так это не достоинство рефлексии, а недостаток инструментария.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959549
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
В плагинах все натыкается на бизнес логику того чего еще не существует.
Ну будет у тебя меню с п.п. Сервисы где 25 пунктов это запуск а ля dll в папке /plugins/
Информационная система все равно Г.
Если это не фотошоп с плагинами.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959557
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри но вы просто оправдываете свою предвзятость по отношению к рефлексии, уши этого тянутся с 2005 года когда она тормозила и была плохой практикой, что уже давно не так.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959562
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего.

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

А рефлексия - это так. Мелочи.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959571
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
вы просто оправдываете свою предвзятость по отношению к рефлексии
А вы - своё нежелание даже знать о существовании (условно) новых возможностей.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959584
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего.

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

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

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

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

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

Плагины разрабатываете Вы сами.
Какая тут дыра в безопасности? Не нужны никакие подписи. Вы же себе доверяете сами, правильно?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959591
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Какие детские примеры с чатами и чатиками.
Давай корпоратив.
Мы же в java.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959593
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras, ты вообще мою мысль не понял. Кто сказал что ты сам плагины делаешь?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959607
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так а кто сказал что стороние плагины?

Ок, не нравится пример с чат ботом, вот другой пример: ETL. Допустим вы не используете Talend, а у вас какой-то простой свой ETL.
Плагин на вход - плагин на выход.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959608
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кстати чат бот совсем не детский пример. Чат бот это такой же фронтэнд канал как и мобильное приложение.

И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959612
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ты понимешь что плагины - это инжекция чужого кода в твоё приложение.

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

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

Это кстати тоже с рефлексией и класслоадером тесно связано. Уж коли на то пошло.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959627
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

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

Мы таких не знаем. Рассказывай.
Мы пару часов послушаем. Вникнем.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959734
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras

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

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

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

Чат бот с поддержкой step up authorization, SMS/Email OTP, , плагинов. Могу если интересно выложить исходники движка.
...
Рейтинг: 0 / 0
25 сообщений из 131, страница 4 из 6
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотации спринга, по-моему перебор, не? :)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]