Если экземпляр упомянутого класса работает в том же потоке, что и поток HTTP-запроса, который вызвал FacesServlet
, тогда вы можете просто получить его по FacesContext
, а затем Application#evaluateExpressionGet()
. См. Также Получение управляемого компонента JSF по имени в любом классе, связанном с сервлетом
Если экземпляр упомянутого класса выполняется в другом потоке, то вам необходимо заранее передать нужную информацию в конструктор, метод класса или сохранить нужную информацию в каком-то общем источнике данных, который одновременно является веб-приложением JSF и автономный класс имеет доступ, например, к базе данных, файлу локальной файловой системы диска или контексту JNDI. В зависимости от контекста и среды, CDI @Named
+ @Inject
также может быть решением.
«Наилучший путь» зависит от конкретного функционального требования, которое не ясно из вопроса, поэтому я не могу указать правильный путь и привести примеры для начала.