Как добавить пакет в белый список с Payara Micro Bundle?

Согласно этой статье блога для использования Google Guava с Payara, он должен быть внесен в белый список, однако, как whitelist-package с Payara Micro Bundle?

Приложение web.xml не принимает <whitelist-package>com.google</whitelist-package>


person quarks    schedule 13.09.2020    source источник
comment
Обратите внимание на этот: medium.com/@abangkis/ По сути, он предлагает вам создать файл glassfish-web.xml в той же папке с вашим файлом web.xml, который внесет пакеты в белый список. Стоит попробовать!   -  person Onur Baştürk    schedule 13.09.2020
comment
@ OnurBaştürk да, я пробовал, это ломает приложение и даже не загружается при этом.   -  person quarks    schedule 13.09.2020
comment
Позвольте мне спросить: какую версию Google Guava вы хотите использовать? Тот, который вы предоставили в своем исходном коде, или тот, который предоставлен Payara? А какая у вас версия сервера Payara? В сообщении, которое вы предоставили, говорится, что добавление в белый список началось со 171-й версии.   -  person Onur Baştürk    schedule 13.09.2020


Ответы (1)


Вам нужно только внести библиотеку Google Guava в белый список, если вы хотите использовать версию, которая уже включена в Payara Server. Если вы предпочитаете использовать библиотеку Google Guava, которая присутствует в WAR вашего приложения, вы можете сделать одно из следующих действий:

  • отключить делегирование загрузки классов (всегда загружать любые классы из вашего приложения, загружать классы с сервера Payara только в том случае, если они не существуют в вашем приложении)
  • включить механизм белого списка и включать только пакеты, которые должны быть загружены с сервера Payara, например org.glassfish (не включая гуаву). Все остальные пакеты будут загружены из приложения.

Если вы добавите com.google в белый список, как в вашем примере, Payara Server не будет искать этот пакет и подпакеты в вашем приложении, а будет пытаться загрузить классы только с Payara Server. Я думаю, это противоположно тому, что вы хотите.

Дополнительные сведения о загрузке классов в Payara Server (включая делегирование загрузки классов и внесение в белый список) см. В документации по адресу https://docs.payara.fish/community/docs/5.2020.4/documentation/payara-server/classloading..html.

person OndroMih    schedule 15.09.2020