Planning for Java EE 8 is now well underway. The platform specification will hopefully be ready by Q3/2016


The main focus of this release is on support for HTML5 and the emerging HTTP 2.0 standard; enhanced simplification and managed bean integration; and improved infrastructure for applications running in the cloud.

MVC 1.0 (JSR 371)

  • JSR Proposal
  • JSR 371
  • Leverage existing Java EE technologies
  • Model part should leverage CDI and Bean Validation
  • View part should leverage existing view technologies like JSPs and Facelets
  • Controller could be either JAX-RS based, invent a new technology, or defined a technology-independent way of definining
  • Out of scope to define a new templating language, existing language should be evaluated, possibly define an SPI for additional ones to be integrated

Java EE 8 Roadmap

JAX-RS 2.1 (JSR 370)

  • JSR Proposal
  • JSR 370
  • Adding support for Server-Sent Events
  • Improving integration with CDI
  • Exploring support for non-blocking I/O in providers (filters, interceptors, etc)
  • Evaluating ways in which declarative security can be supported either directly in this JSR or by leveraging other EE-platform JSRs
  • Making JAXB conditional on runtimes where it is available
  • Providing integration with JSON-B
  • Building upon the hypermedia API added in version 2.0
  • Investigate the reactive programming paradigm as a way to improve the JAX-RS asynchronous client API
  • Evaluating any requirements necessary to support the use of JAX-RS resource classes as as controllers in the MVC 1.0 JSR

Servlet 4.0 (JSR 369)

  • JSR Proposal
  • JSR 369
  • Expose support for the upcoming IETF standard HTTP/2 to users of the Servlet API
  • Request/response multiplexing
  • Stream prioritization
  • Server push
  • Upgrade from HTTP 1.1 -Refresh the Servlet API with to achieve compliance with new features in HTTP 1.1
  • Responding to community input

Java EE 8 Platform (JSR 366)

  • JSR Proposal
  • JSR 366
  • Latest web standards: Server-Sent Events, JSON Binding, HTTP 2.0, improvements to WebSocket and JSON-P, MVC
  • Ease-of-use: Declarative security using CDI, notification of timed events using CDI event and observer mechanism
  • Infrastructure for cloud support: Configuration of multiple tenants, simplified and improved security configuration; and REST-based APIs for monitoring and management
  • Alignment with Java SE 8: Taking advantage of features available such as repeating annotations, lambda expressions, the Date/Time API, type annotations, Completable Futures and so on.
  • Candidate JSRs: JCache, JSON-B, Java Configuration
  • Web Profile: JSON-B will likely be included
  • Pruning: EJBLocalHome and support for CORBA IIOP interoperability

JSF 2.3 (JSR 372)

  • JSP Proposal
  • JSR 372
  • Ajax method invocation: Allows invoking CDI managed bean methods directly from Ajax, all owing the response to be sent using standard JSON
  • Community input: multi-field validation, @Inject FacesContext, EL performance optimizations, and cross-form Ajax clarifications
  • Better integration with Java EE 8 and Java SE 8

JSON Binding (JSR 367)

  • JSR Proposal
  • JSR 367
  • Standard way to convert JSON into Java objects and vice versa.
  • JSON-B will leverage JSON-P and provide a conversion layer above it.
  • A default mapping algorithm will be defined for converting existing Java classes to JSON. The default mappings can be customized through the use of Java annotations and will be leveraged by the JSON-B runtime to convert Java objects to/from JSON.
  • Requirements from upper layers of JAX-RS
  • JSON-B will have a similar feel to JAXB

JMS 2.1 (JSR 368)

  • JSR Proposal
  • JSR 368
  • Simplifying and extending the API required to receive messages asynchronously
  • Portability of JMS providers within Java EE servers will be improved
  • Clarify “application server facilities” in chapter 11 of JMS 2.0
  • Clarify JCA resource adapater relationship
  • Improvements in JMS provider in Java EE transaction
  • Corrections and minor enhancements

CDI 2.0 (JSR 365)

  • JSR Proposal
  • CDI Modularity Proposal
  • JSR 365
  • Split CDI into two parts: Core CDI programming model and Java EE integrations for CDI
  • Define a portable bootstrap API for CDI
  • Overhal thread-bound request-response context model, allow the application or container to portably push the active context to CDI when it requires the use of CDI
  • Introduce modularity to CDI, CDI 2.0 Modularity Proposal
  • Define a lightweight container

Configuration (May 15, 2014)

  • Proposal Blog
  • Simple map based configuration abstraction
  • Configuration Service API
  • Configuration description template.
  • SPI to configure/back the implementation used by the accessor API.

JCACHE Java Temporary Caching API

  • JSR 107
  • The JCACHE specification standardizes in process caching of Java objects in a way that allows an efficient implementation, and removes from the programmer the burden of implementing cache expiration, mutual exclusion, spooling, and cache consistency.
  • Objects whose type is not known until runtime can be cached, but only those which implement the serializable interface can be spooled.
Follow page
Message Markus Eisele
Report link