Проблема Развертывание Mojarra 2.2.13.SP1 в качестве вторичной конфигурации JSF на Wildfly18 - PullRequest
0 голосов
/ 22 февраля 2020

Я мигрирую из Wildfly10 в Wildfly18. Моё приложение JSF enterprise (* .ear) работало на Wildfly10 со встроенной Mojarra версии 2.2.13.SP1. Что касается Wildfly18, я заметил, что следующая ошибка в рамках по умолчанию, включающая в себя версию JSF Mojarra 2.3.9.SP04, является ограничителем показа для моего приложения:

https://github.com/eclipse-ee4j/mojarra/issues/4650

Эта ошибка по-прежнему существует в самой последней версии проекта Mojarra 2.3. Мой обходной путь заключается в том, чтобы развернуть мое приложение под управлением JSF-версии Wildfly10, то есть Mojarra 2.2.13.SP1. Я следовал инструкциям по настройке этого в Wildfly18 здесь:

https://docs.wildfly.org/18/Admin_Guide.html#JSF

Из сообщений журнала сервера видно, что реализация mojarra-2.2.13 будучи успешно распознанным:

02:00:19,676 INFO  [org.jboss.modules] (main) JBoss Modules version 1.9.1.Final  
02:00:22,213 INFO  [org.jboss.msc] (main) JBoss MSC version 1.4.11.Final  
02:00:22,227 INFO  [org.jboss.threads] (main) JBoss Threads version 2.3.3.Final  
02:00:22,473 INFO  [org.jboss.as] (MSC service thread 1-2) WFLYSRV0049: WildFly Full 18.0.1.Final   (WildFly Core 10.0.3.Final) starting  
...  
02:00:29,900 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 47) WFLYJSF0007: Activated the following JSF Implementations: [**mojarra-2.2.13, main**]  
...  

Также в соответствии с инструкциями, файл моего приложения в сети. xml определяет использование альтернативного слота mojarra-2.2.13 JSF:

<context-param>
        <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
        <param-value>mojarra-2.2.13</param-value>
</context-param>

К сожалению После этого мое приложение не может быть развернуто со следующим сообщением об ошибке:

02: 00: 54 224 ОШИБКА [org.jboss.ms c .service.fail] (MS C служебный поток 1-1) MSC000001: Не удалось запустить службу jboss.deployment.unit. "MyApp.ear" .WeldStartService: org.jboss.ms c .service.StartException в службе jboss.deployment.unit. "MyApp.ear" .WeldStartService: не удалось служба запуска

Весь журнал включен ниже, но ключевые исключения / сообщения выглядят так:

  1. Caused by: org.jboss.weld.exceptions.DefinitionException: список исключений с 1 исключение: Excepti 0: javax.enterprise.event.ObserverException ...
  2. Причина: java .util.ServiceConfigurationError: com.sun.faces.util.cdi11.CDIUtil: com.sun.faces.util. cdi11.CDIUtilImpl не подтип ...
  3. at com.sun.jsf-impl@2.3.9.SP04//com.sun.faces.application.view.ViewScopeExtension.afterBeanDiscovery(ViewScopeExtension.java:99)...

Мне кажется интересным, что ServiceConfigurationError происходит в реализации JSF 2.3 com.sun. jsf-impl@2.3.9.SP04 по умолчанию. , когда я указываю, что мое приложение должно использовать слот mojarra-2.2.13 (который предположительно не зависит от реализации 2.3.9). В качестве теста, если я опущу фрагмент web. xml, мое приложение будет развернуто нормально (хотя и неработоспособно, согласно описанной выше ошибке Mojarra) с использованием Mojarra 2.3.9.SP04 по умолчанию, так что кажется, что я получаю правильный " использовать JSF 2.2.13 "поведение через Интернет. xml опция конфигурации.


02:00:54,224 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit.”MyApp.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyApp.ear".WeldStartService: Failed to start service
  at org.jboss.msc@1.4.11.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
  at org.jboss.msc@1.4.11.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
  at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
Exception 0 :
javax.enterprise.event.ObserverException
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  at java.base/java.lang.Class.newInstance(Class.java:584)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.security.NewInstanceAction.run(NewInstanceAction.java:33)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:78)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:103)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
  at javax.enterprise.api//javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.util.Observers.notify(Observers.java:166)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:44)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.bootstrap.events.AfterBeanDiscoveryImpl.fire(AfterBeanDiscoveryImpl.java:75)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:462)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:86)
  at org.jboss.as.weld@18.0.1.Final//org.jboss.as.weld.WeldStartService.start(WeldStartService.java:97)
  at org.jboss.msc@1.4.11.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
  at org.jboss.msc@1.4.11.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
  at org.jboss.msc@1.4.11.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
  at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
  at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.util.ServiceConfigurationError: com.sun.faces.util.cdi11.CDIUtil: com.sun.faces.util.cdi11.CDIUtilImpl not a subtype
  at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)
  at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236)
  at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
  at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
  at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
  at com.sun.jsf-impl@2.3.9.SP04//com.sun.faces.application.view.ViewScopeExtension.afterBeanDiscovery(ViewScopeExtension.java:99)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  at org.jboss.weld.core@3.1.2.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
  ... 25 more
...