Можно ли использовать MyFaces + CDI в WebLogic 12c?
Я пытался запустить эту настройку уже пару дней, но все равно не повезло. Вот'тестовое приложение ямы использовали:
@Named
@RequestScoped
public class Test {
private String test = "test";
public String getTest() { return test; }
public void setTest(String test) { this.test = test; }
}
И на странице JSF:
Запуск этого примера без MyFaces работает нормально (рендертестовое задание" как и должно быть), но когда я развертываю MyFaces в файле WAR и выполняю необходимую настройку в weblogic.xml CDI, кажется, перестает работать (или, по крайней мере, интеграция между JSF и CDI), и ничего не отображается в выходном html. С MyFaces все в порядке, хотя.
Моя основная конфигурация следующая:
WebLogic Server 12c (12.1.1.0), патчи должны быть актуальными, так как я только что вчера загрузил версию для разработки, чтобы быть увереннымMyFaces-2.1.10, развернутый в WEB-INF / libsBeans.xml на местеorg.apache.myfaces.webapp.StartupServletContextListener был зарегистрирован в web.xmlWebLogic настроен на использование MyFaces с использованием weblogic.xmlСодержимое Weblogic.xml:
javax.faces.*
com.sun.faces.*
com.bea.faces.*
javax.faces.*
com.sun.faces.*
com.bea.faces.*
META-INF/services/javax.servlet.ServletContainerInitializer
META-INF/services/com.sun.faces.spi.FacesConfigResourceProvider
Что я'мы узнали до сих пор:
WL12c оснащен Weld 1.1.3, так какРеализация CDI.Я где-то читал (могуне помню где) что когда вы решите переключить реализацию JSF, вы 'Вы несете ответственность за интеграцию JSF / CDI самостоятельно. Это правда (надеюсь, что нет)?Вещи, которые ямы уже пробовали:
Добавьте MyFaces CODI в смесь, надеясь, что это каким-то образом склеит Weld и MyFaces, но это не так.т.Замените Weld на OpenWebBeans в качестве реализации CDI. Сначала это работало, но позже появилось много интересных исключений ClassCastException в каком-то внутреннем пакете sun.reflection. Это решение, которое яЯ предпочел бы избежать в любом случае.Запустите Weld вручную, используя различные параметры в файлах web.xml и face-config.xml. Похоже, что это заставляет Weld работать, поскольку он заполняет журнал всеми видами сообщений об ошибках. В какой-то степени это может бытьфиксированный" путем обновления weblogic до новой версии Weld, но каждый раз, когда я делаю это, я сталкиваюсь с следующей ошибкой. Опять яЯ предпочитаю избегать и этого маршрутаДействительно ли так сложно использовать MyFaces на WL12c при сохранении поддержки CDI или я просто упускаю очевидное? Спасибо за любую помощь.