NOTiFY
NOTiFY

Reputation: 1403

How do I change JSF impl of WildFly 27.0.1 from Mojarra 4.0.0.SP01 to MyFaces 4.0

Using Red Hat WildFly 27.0.1 I'm trying to migrate Mojarra 4.0.0.SP01 to MyFaces 4.0.

Trying to use document "7.26. Jakarta Server Faces Configuration" at:

https://docs.wildfly.org/27/Admin_Guide.html#Jakarta_Server_Faces

Also I can't run "7.26.2. Changing the default Jakarta Server Faces implementation":

./jboss-cli.sh /subsystem=jsf/:write-attribute(name=default-jsf-impl-slot,value=<JSF_IMPL_NAME>-<JSF_VERSION>)

I find the document conflicts.

Also "Working of the Multi-JSF Implementation" (posted on WildFly Forum).

How can I do this? TIA.

Upvotes: 1

Views: 891

Answers (2)

Melloware
Melloware

Reputation: 11994

MyFaces works fine with WildFly 27.

MyFaces Wildfly Galleon Pack: https://github.com/melloware/wildfly-myfaces-galleon-pack

And here is an example application using it: https://github.com/melloware/wildfly-faces

Upvotes: 1

NOTiFY
NOTiFY

Reputation: 1403

Posted on WildFly Forum: "That support is currently not working correctly. We have an open JIRA to address that, but we've simply had higher priorities. I hope to get to that "soon", but I can't make any promises. Principal Software Engineer, Red Hat JBoss EAP"

Have upgraded to MyFaces 4.0.0-RC4. Unable to resolve "WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid":

15:00:15,485 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0027: Starting deployment of "java-jakarta-primefaces-1.0.war" (runtime-name: "java-jakarta-primefaces-1.0.war")
15:00:17,208 INFO  [org.jboss.as.jpa] (MSC service thread 1-8) WFLYJPA0002: Read persistence.xml for io.aturanj.jakarta.pu
15:00:17,223 WARN  [org.jboss.as.jsf] (MSC service thread 1-8) WFLYJSF0005: Unknown Jakarta Server Faces version 'myfaces-impl-4.0.0-RC4'.  Default version 'myfaces-impl-4.0.0' will be used instead.
15:00:17,223 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."java-jakarta-primefaces-1.0.war".DEPENDENCIES: org.jboss.msc.service.StartException in service jboss.deployment.unit."java-jakarta-primefaces-1.0.war".DEPENDENCIES: WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment "java-jakarta-primefaces-1.0.war"
    at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:189)
    at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
    at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
    at [email protected]//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
    at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid
    at [email protected]//org.jboss.as.jsf.deployment.JSFDependencyProcessor.deploy(JSFDependencyProcessor.java:94)
    at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182)
    ... 8 more

15:00:17,225 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "java-jakarta-primefaces-1.0.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"java-jakarta-primefaces-1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment \"java-jakarta-primefaces-1.0.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid"}}
15:00:17,225 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "java-jakarta-primefaces-1.0.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"java-jakarta-primefaces-1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment \"java-jakarta-primefaces-1.0.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid"}}
15:00:17,226 ERROR [org.jboss.as.server] (External Management Request Threads -- 1) WFLYSRV0021: Deploy of deployment "java-jakarta-primefaces-1.0.war" was rolled back with the following failure message: 
{"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"java-jakarta-primefaces-1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment \"java-jakarta-primefaces-1.0.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid"}}
15:00:17,244 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0028: Stopped deployment java-jakarta-primefaces-1.0.war (runtime-name: java-jakarta-primefaces-1.0.war) in 17ms

Next ...

Have added to WildFly 27 with:

com/sun/jsf-impl/myfaces-impl-4.0.0/myfaces-impl-4.0.0-RC4.jar
com/sun/jsf-impl/myfaces-impl-4.0.0/module.xml

javax/faces/api/myfaces-impl-4.0.0/module.xml
javax/faces/api/myfaces-impl-4.0.0/myfaces-api-4.0.0-RC4.jar

org/apache/commons/digester/main/commons-digester3-3.2.jar
org/apache/commons/digester/main/module.xml

org/jboss/as/jsf-injection/myfaces-impl-4.0.0/module.xml
org/jboss/as/jsf-injection/myfaces-impl-4.0.0/weld-jsf-5.1.0.Final.jar
org/jboss/as/jsf-injection/myfaces-impl-4.0.0/weld-jsf-5.1.0.Final.jar

Run:

./jboss-cli.sh
connect
/subsystem=jsf/:write-attribute(name=default-jsf-impl-slot,value=myfaces-impl-4.0.0)

{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}

Then:

/subsystem=jsf:list-active-jsf-impls()

Deployed test WAR:

14:03:01,310 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "java-jakarta-primefaces-1.0.war" (runtime-name: "java-jakarta-primefaces-1.0.war")
14:03:03,431 INFO  [org.jboss.as.jpa] (MSC service thread 1-8) WFLYJPA0002: Read persistence.xml for io.aturanj.jakarta.pu
14:03:03,455 WARN  [org.jboss.as.jsf] (MSC service thread 1-2) WFLYJSF0005: Unknown Jakarta Server Faces version 'myfaces-impl-4.0.0'.  Default version 'myfaces-impl-4.0.0' will be used instead.
14:03:03,456 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."java-jakarta-primefaces-1.0.war".DEPENDENCIES: org.jboss.msc.service.StartException in service jboss.deployment.unit."java-jakarta-primefaces-1.0.war".DEPENDENCIES: WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment "java-jakarta-primefaces-1.0.war"
    at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:189)
    at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
    at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
    at [email protected]//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
    at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid
    at [email protected]//org.jboss.as.jsf.deployment.JSFDependencyProcessor.deploy(JSFDependencyProcessor.java:94)
    at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182)
    ... 8 more

14:03:03,458 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "java-jakarta-primefaces-1.0.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"java-jakarta-primefaces-1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment \"java-jakarta-primefaces-1.0.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid"}}
14:03:03,458 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "java-jakarta-primefaces-1.0.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"java-jakarta-primefaces-1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment \"java-jakarta-primefaces-1.0.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid"}}
14:03:03,461 ERROR [org.jboss.as.server] (External Management Request Threads -- 1) WFLYSRV0021: Deploy of deployment "java-jakarta-primefaces-1.0.war" was rolled back with the following failure message: 
{"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"java-jakarta-primefaces-1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment \"java-jakarta-primefaces-1.0.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid"}}
14:03:03,487 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0028: Stopped deployment java-jakarta-primefaces-1.0.war (runtime-name: java-jakarta-primefaces-1.0.war) in 26ms
14:08:35,964 INFO  [org.jboss.as.repository] (ServerService Thread Pool -- 86) WFLYDR0009: Content /usr/local/Cellar/wildfly-as/wildfly-preview-27.0.1.Final-MyFaces/standalone/data/content/fc/c21529f2a77775585d0b6dc2bc91c7ae02d4f6 is obsolete and will be removed
14:08:35,967 INFO  [org.jboss.as.repository] (ServerService Thread Pool -- 86) WFLYDR0002: Content removed from location /usr/local/Cellar/wildfly-as/wildfly-preview-27.0.1.Final-MyFaces/standalone/data/content/fc/c21529f2a77775585d0b6dc2bc91c7ae02d4f6/content

Results still with:

Default Jakarta Server Faces implementation slot 'myfaces-impl-4.0.0' is invalid

Answer - MyFaces won't run/deploy on:

wildfly-preview-27.0.1.Final

Works with:

wildfly-27.0.1.Final

Upvotes: 0

Related Questions