Java EE 7 Implementations in WildFly (Tech Tip #3)

WildFly Beta 1 has been available for some time now. Tech Tip #1 shows you how to get started with it. Have you tried it ?

Wildfly_logo

This tip will inform you of where all the different Java EE 7 component implementations are coming from:

Component JSR Implementation
Java API for WebSocket 356 Undertow (lightweight Web server for WildFly)
Java API for JSON Processing 353 Used from GlassFish
Concurrency Utilities for Java EE 236 Used from GlassFish
Batch Applications for the Java Platform 352 jberet
Java API for RESTful Web Services 339 RESTEasy rest-easy-logo
Java Message Service (JSR 343) 343 HornetQ hornetq
Contexts and Dependency Injection 346 Weld weld-logo
Bean Validation 349 Hibernate Validator hibernate-validator-logo
Java API for Persistence 338 Hibernate hibernate-logo
Java Connector Architecture 322 IronJacamar iron-jacamar-logo
Java Transaction API 907 Narayana naryana-logo
JavaServer Faces 344 Used from GlassFish
Expression Language 341 Used from GlassFish
Servlet 340 Undertow
Enterprise JavaBeans 345 WildFly
Java API for XML-based Web Services 224 JBossWS jbossws-logo (Apache CXF is default)

 

And in case you are wondering, here is a pancake diagram that shows how these technologies fit together:

javaee7-pancake

Have you tried any of the implementations by itself ?

Be Sociable, Share!

6 thoughts on “Java EE 7 Implementations in WildFly (Tech Tip #3)

  1. Hi Arun

    I had followed your blog to migrate glassfish 4.0 application to wildfly 8.0. step by step. But, I am getting below error

    Caused by: javax.persistence.PersistenceException: JBAS011466: PersistenceProvider ‘org.eclipse.persistence.jpa.PersistenceProvider’ not found”

    my persistence.xml contains
    org.eclipse.persistence.jpa.PersistenceProvider

    and pom.xml contains

    org.eclipse.persistence
    eclipselink
    2.5.1
    provided

    please advice what I am doing wrong.

    Regards
    Bikram

  2. Bikram,

    Can you remove this line from persistence.xml and also remove the provided dependency from pom.xml ? Build and deploy the file again.

    Arun

  3. Hello Arun,
    I am migrating a Java EE App from Glassfish server 4.0 to Wildfly, but I am getting a error when try deploy this application, I am using faces 2.2.6:

    Detail error:
    Caused by: java.lang.NoClassDefFoundError: com/sun/faces/util/CollectionsUtils$ConstMap
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0_25]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2387) [rt.jar:1.7.0_25]
    at java.lang.Class.getDeclaredFields(Class.java:1796) [rt.jar:1.7.0_25]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionIndex.java:57) [wildfly-server-8.0.0.Final.jar:8.0.0.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:68) [wildfly-server-8.0.0.Final.jar:8.0.0.Final]
    … 10 more
    Caused by: java.lang.ClassNotFoundException: com.sun.faces.util.CollectionsUtils$ConstMap from [Module “deployment.ProyectoEAR.ear.Proyecto-ejb.jar:main” from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final]
    … 15 more

    Do you know why happens it?

    thanks in advance, regards

  4. hi jajezape,

    I resolved this problem added the library jsf-impl-2.2.6-jbossorg-3.jar in the project.

    In deploy you can add “Dependencies: com.sun.jsf-impl export, javax.faces.api export”
    in MANIFEST.MF

    regards

  5. Hello Arun.
    I have my webapp deployed and running on tomcat with jsf2, myface impl. Now I want to deploy it on wildfly. Wildfly come with its own implementation of jsf (Moraja),
    how can I disable this implementation and allow jboss to use my own implementation ?
    Regards

Leave a Reply

Your email address will not be published. Required fields are marked *