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
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
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

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • From J2EE to Jakarta EE
  • The Next Evolution of Java: Faster Innovation, Simpler Adoption
  • Getting Started With JMS-ActiveMQ: Explained in a Simple Way
  • A Systematic Approach for Java Software Upgrades

Trending

  • Navigating and Modernizing Legacy Codebases: A Developer's Guide to AI-Assisted Code Understanding
  • The Role of AI in Identity and Access Management for Organizations
  • Analyzing Techniques to Provision Access via IDAM Models During Emergency and Disaster Response
  • Introducing Graph Concepts in Java With Eclipse JNoSQL, Part 2: Understanding Neo4j
  1. DZone
  2. Coding
  3. Java
  4. Converting ActiveMQ to Jakarta (Part 1)

Converting ActiveMQ to Jakarta (Part 1)

Jakarta, formerly the Java Enterprise Edition (Java EE or J2EE), is the standardization of many important APIs used in enterprise and mobile Java applications.

By 
Matt Pavlovich user avatar
Matt Pavlovich
·
Nov. 24, 23 · News
Likes (2)
Comment
Save
Tweet
Share
4.5K Views

Join the DZone community and get the full member experience.

Join For Free

What Is Jakarta?

Jakarta, formerly the Java Enterprise Edition (Java EE or J2EE), is the standardization of many important APIs used in enterprise and mobile Java applications. These standardized APIs allow coders to write applications with support for features such as interacting with data in databases, transmitting or retrieving data from a queue, collaborating with web services, or developing web-based applications.

The Jakarta standards and releases operate under the umbrella of the Eclipse Foundation's project framework. This foundation, a highly respected open-source organization, is responsible for various significant Java-based technologies, including a complete Java distribution. These key specifications are now set to evolve quicker and introduce new features more rapidly than when under the previous organization structure.

The timeline for adopting the new version of the Jakarta EE APIs is primarily driven by the popular Spring framework and Spring Boot runtime. Spring established that all applications will be using Java JDK 17, and Jakarta will form the foundation for Spring version 6 and Spring Boot version 3. Free, open-source support for Spring version 5 and Spring Boot version 2 ends at the end of 2023. Spring’s extensive connections to other popular Java frameworks are rippling through the entire Java ecosystem to jumpstart the transition over the next year.

Code Changes Ahead

For enterprise developers, the advent of new Spring 6 and Spring Boot 3 projects will spotlight Jakarta as the primary focus, necessitating the update of any existing projects accordingly. With the decoupling of Java from Oracle, the namespace of the APIs has transitioned from 'javax' to 'jakarta'. Consequently, Java code leveraging these specifications requires updates. For instance, applications utilizing the Persistence specification (or JPA) for storing and fetching data from a database will need to undergo changes.    

Java
 
import javax.persistence.Query;


To:

Java
 
import jakarta.persistence.Query;


For applications using the Jakarta Messaging specification (aka JMS) to send and receive messages using queues:

Java
 
import javax.jms.Message;


To:

Java
 
import jakarta.jms.Message;


Small projects and micro-services should migrate very quickly.  After the initial one or two conversions, developers should be proficient enough to migrate any code base with minimal effort. However, larger projects may require a deeper investment of effort, as any existing technical debt could potentially magnify the scope of tasks that need to be addressed.

Moving Forward

The Java ecosystem is quickly evolving, creating enormous value for developers and, ultimately, organizations utilizing Java for their applications. 

In addition to Jakarta, the Java language itself is getting substantial updates — such as Lambda expressions, Virtual Thread (Project Loom), Records, and many performance and optimization enhancements to Java execution — which are improving the developer experience and lowering cloud bills. These improvements introduce exciting features inspired by languages like Scala and Kotlin that had been popular due to certain developer-centric functionalities but were not the best choice for enterprises due to the limited availability of developers when compared to Java.

With a rich ecosystem of tools and a massive pool of available developer talent, these features will improve performance, lower costs, and attract talent with improved developer experience. This innovation and improvement to standards and frameworks will keep the Java ecosystem thriving for years.

Here at HYTE, we develop our products using Java, utilizing many specifications noted in this blog post. Stay tuned for insights on HYTE's experiences in updating our products for Jakarta and our contributions to Open Source projects — including the substantial amount of work needed to complete the update of Apache ActiveMQ to Jakarta EE APIs.

Java Development Kit Java EE Open source Java (programming language)

Published at DZone with permission of Matt Pavlovich. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • From J2EE to Jakarta EE
  • The Next Evolution of Java: Faster Innovation, Simpler Adoption
  • Getting Started With JMS-ActiveMQ: Explained in a Simple Way
  • A Systematic Approach for Java Software Upgrades

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • 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:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!