Title: Java EE 7 Implementation Status

This page shows the current implementation status for the Java EE 7 specification compabitility of Apache Tomme 7.0.0-M1. Currently, we are working on the certification for Java EE 7.

<table>
    <tr>
        <th></th>
        <th>Version</th>
        <th>JSR</th>
        <th>TomEE</th>
        <th>TomEE+</th>
    </tr>

    <tr>
        <td>Java Servlets</td>
        <td>3.1</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=340">340</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>JavaServer Pages (JSP)</td>
        <td>2.3</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=245">245</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Expression Language (EL)</td>
        <td>3.0</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=341">341</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>JavaServer Faces (JSF)</td>
        <td>2.2</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=344">344</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java API for Websocket</td>
        <td>1.0</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=356">356</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java API for JSON Processing (JSON-P)</td>
        <td>1.0</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=353">353</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Batch Applications for the Java Platform</td>
        <td>1.0</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=352">352</a></td>
        <td></td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Concurrency Utilities for Java EE</td>
        <td>1.0</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=236">236</a></td>
        <td></td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Contexts and Dependency Injection (CDI)</td>
        <td>1.1</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=346">346</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Bean Validation</td>
        <td>1.1</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=349">349</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Enterprise JavaBeans (EJB)</td>
        <td>3.2</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=345">345</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Interceptors</td>
        <td>1.2</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=318">318</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java EE Connector Architecture</td>
        <td>1.6</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=322">322</a></td>
        <td></td>
        <td>1.7 not supported yet</td>
    </tr>

    <tr>
        <td>Java Persistence API (JPA)</td>
        <td>2.1</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=338">338</a></td>
        <td>API 2.1 supported, default provider still 2.0.</td>
        <td>API 2.1 supported, default provider still 2.0.</td>
    </tr>

    <tr>
        <td>Java Messaging Service (JMS)</td>
        <td>1.1</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=343">343</a></td>
        <td></td>
        <td>2.0 not supported yet.</td>
    </tr>

    <tr>
        <td>Java Transaction API (JTA)</td>
        <td>1.2</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=907">907</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>JavaMail API</td>
        <td>1.5</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=919">919</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java API for RESTful Web Services (JAX-RS)</td>
        <td>2.0</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=339">339</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java API for XML Web Services (JAX-WS)</td>
        <td>2.2</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=224">224</a></td>
        <td></td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java Authentication Service Provider Interface for Containers (JAAS)</td>
        <td>1.1</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=196">196</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>

    <tr>
        <td>Java Authorization Contract for Coners (JACC)</td>
        <td>1.5</td>
        <td><a href="http://jcp.org/en/jsr/detail?id=115">115</a></td>
        <td>(/)</td>
        <td>(/)</td>
    </tr>
</table>

