DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • Beans Custom Validation Constraints
  • Comparing ModelMapper and MapStruct in Java: The Power of Automatic Mappers
  • Reactive Programming
  • Java EE 6 Pet Catalog with GlassFish and MySQL

Trending

  • DevSecOps: Integrating Security Into Your DevOps Workflow
  • OneStream Fast Data Extracts APIs
  • Securing Your Applications With Spring Security
  • Monkey-Patching in Java
  1. DZone
  2. Coding
  3. Java
  4. Happy Second Birthday, Java EE 7! How is it Going in Production?

Happy Second Birthday, Java EE 7! How is it Going in Production?

Spring is trying to actively embrace the latest generation of specifications such as JPA, Bean Validation and of course the Servlet and JMS APIs.

Pieter Humphrey user avatar by
Pieter Humphrey
CORE ·
Jun. 09, 15 · Interview
Like (0)
Save
Tweet
Share
4.73K Views

Join the DZone community and get the full member experience.

Join For Free

Written by Juergen Hoeller on the Spring blog 

In our quest for Java EE integration, we’re trying to actively embrace the latest generation of specifications such as JPA, Bean Validation and of course the Servlet and JMS APIs. As of Spring 4, we’re supporting the Java EE 6 and 7 level of specifications side by side. We would like to raise it to the EE 7+ level (e.g. JPA 2.1, Bean Validation 1.1, and in particular Servlet 3.1 and JMS 2.0) soon but are facing a fundamental problem: the lack of EE 7 platform adoption.

The Java EE 7 platform has been released in May 2013 and is therefore two years old now. Surprisingly, it’s hardly to be found in production yet. But then that’s not so surprising really: While a few projects have been certified for EE 7 in the meantime, the lack of major vendors is apparent: There are no major EE 7 servers with production support yet, not for the web profile and not for the full platform either. As of June 2015, the common EE vendors still sell licenses for servers based on 2009-era Java EE 6 APIs. And it’s not just the traditional suspects:

  • Tomitribe provides support for TomEE 1.7, a Tomcat 7 based EE 6 Web Profile stack, based on 2009-era EE 6 APIs but compatible with JSR-356 WebSockets and JDK 8 at least. TomEE 2.0 will be an EE 7 offering based on Tomcat 8 but hasn’t been released yet.
  • Red Hat’s most recent support offering is JBoss EAP 6.4, a JBoss 7 based EE 6 stack with JSR-356 WebSockets and JDK 8 support in the meantime. Note that WildFly is an R&D project without maintenance releases and without any kind of production support.
  • Oracle ships WebLogic 12.1.3, an EE 6 server with a bit of EE 7 (JPA 2.1, JAX-RS 2.0, JSR-356 WebSockets) and JDK 8 support. WebLogic 12.1.4 as a full EE 7 server has been announced for a long time now but is still not released. And GlassFish 4 is just an RI…
  • The IBM WebSphere team does a fine job implementing EE 7 specs for the WebSphere Liberty Profile but hasn’t completed the effort yet. At least, some EE 7 modules and JDK 8 are supported in production already, as a kind of feature pack for the Liberty Profile.

While several specifications from the EE 7 umbrella have seen individual adoption, e.g. JPA 2.1through Hibernate 4.3 and Servlet 3.1 / JSR-356 WebSockets through Tomcat 8 and Jetty 9, it is fair to say that Java EE 7 failed to enter the market as a platform overall. Ironically, the later-released JDK 8 got embraced in production rather quickly, even in EE land! So the state of the art as of mid 2015 is a vendor-supported Java EE 6 server running on JDK 8 in production…

Our consequence: Given the adoption levels of Spring 4 and Java 8, we’ll raise the minimum to JDK 8+ in our Spring Framework 5 generation. However, due to the lack of Java EE 7 platform adoption, we’ll have to retain compatibility with the current generation of application servers: allowing for upcoming Spring 5 applications to be deployed to the JDK 8 based EE 6 servers commonly found in production - just like we do with Spring 4 already, but at least with the extra benefit of going JDK 8+ for our framework codebase and all of its core interfaces.

Java EE Java (programming language) Spring Framework Production (computer science)

Published at DZone with permission of Pieter Humphrey, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Beans Custom Validation Constraints
  • Comparing ModelMapper and MapStruct in Java: The Power of Automatic Mappers
  • Reactive Programming
  • Java EE 6 Pet Catalog with GlassFish and MySQL

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: