A especificação do Java EE 7 (JSR 342), chegou, no final de 2012, à primeira versão para revisão há uma série de questões em aberto, incluindo quais APIs devem ser adicionadas nos profiles Full e Web, bem como a melhor forma de alinhar o CDI com o Java EE.
Embora o escopo do Java EE 7 tenha diminuído - em particular, os planos para melhorar o suporte de multi-inquilinos (multi-tenancy) para provedores de PaaS foram adiados para o Java EE 8 - a especificação ainda inclui atualizações importantes. Entre elas, estão planejadas novas APIs para processamento em lote; a JCache, uma API de cache temporário de longa duração; uma nova API para processamento de JSON e o suporte a Web Socket e HTML5.
Além disso, três APIs antigas estão sendo restruturadas e melhoradas:
- A JAX-RS 2.0, a API Java para serviços web RESTful, ganha uma nova funcionalidade para clientes REST, HTTP assíncrono no lado servidor, filtros e interceptores;
- A Expression Language 3.0 recebe suporte para a execução de EL fora do container web, assim como novos operadores, expressões lambda e outras funcionalidades;
- A JMS 2.0, enfatiza a simplicidade, implementando a interface do Java 7 java.lang.AutoCloseable para os objetos JMS, facilitando com isso a definição de recursos no Java EE. Além disso, o JMSXDeliveryCount será obrigatório, facilitando a manipulação de poison messages. (Uma poison message é uma mensagem numa fila, que excedeu o número máximo de tentativas de entregas para a aplicação de destino). Os novos recursos incluem a capacidade de um cliente JMS agendar entregas futuras de mensagens; e de enviar mensagens, retornando imediatamente sem bloquear, até que uma mensagem de confirmação tenha sido recebido pelo servidor.
A lista completa das atualizações planejadas é a seguinte:
- Batch Applications for the Java Platform (JSR 352)
- Bean Validation 1.1 (JSR 349)
- Context & Dependency Injection 1.1 (JSR 346)
- Enterprise JavaBeans 3.2 (JSR 345)
- Expression Language 3.0 (JSR 341)
- Java API for JSON Processing (JSR 353)
- Java API for RESTful Web Services 2.0 (JSR 339)
- Java API for WebSocket (JSR 356)
- Java Message Service 2.0 (JSR 343)
- Java Persistence API 2.1 (JSR 338)
- JavaServer Faces 2.2 (JSR 344)
- JCACHE Java Temporary Caching API (JSR 107)
- Java Servlet 3.1 (JSR 340)
O Java EE 6 foi lançado no dia 10 de dezembro de 2009; isso significa que o tempo entre o lançamento do EE 6 e o EE 7 será de mais de três anos - o período mais longo na história da especificação. Acompanhe o andamento do novo Java EE no site Aquarium da Oracle.