Java

Using Red Hat Application Migration Toolkit to see the impact of migrating to OpenJDK

Using Red Hat Application Migration Toolkit to see the impact of migrating to OpenJDK

Migrating from one software solution to another is a reality that all good software developers need to plan for. Having a plan helps to drive innovation at a continuous pace, whether you are developing software for in-house use or you are acquiring software from a vendor. In either case, never anticipating or planning for migration endangers the entire innovation value proposition. And in today’s ever-changing world of software, everyone who wants to benefit from the success of the cloud has to ensure that cloud innovation is continuous. Therefore, maintaining a stack that is changing along with technological advancements is a necessity.

In this article, we will take a look at the impact of moving to OpenJDK and the results will aid in drawing further conclusions and in planning. It’s quite common to be using a proprietary version of JDK, and this article addresses how to use Red Hat Application Migration Toolkit to analyze your codebase to understand the impact of migrating to OpenJDK.

Continue reading “Using Red Hat Application Migration Toolkit to see the impact of migrating to OpenJDK”

Share
Building Java 11 and Gradle containers for OpenShift

Building Java 11 and Gradle containers for OpenShift

How do YOU get your Java apps running in a cloud?

First you grab a cloud from the sky by, for example,  (1) Getting started with a free account on Red Hat OpenShift Online, or (2) locally on your laptop using Red Hat Container Development Kit (CDK) or upstream Minishift on Windows, macOS, and Linux, or (3) using oc cluster up (only on Linux), or (4) by obtaining a login from someone running Red Hat OpenShift on a public or on-premises cloud. Then, you download the oc CLI client tool probably for Windows (and put it on your PATH). Then you select the Copy Login Command from the menu in the upper right corner under your name in the OpenShift Console’s UI, and you use, for example, the oc status command.

Great—now you just need to containerize your Java app. You could, of course, start to write your own Dockerfile, pick an appropriate container base image (and discuss Red Hat Enterprise Linux versus CentOS versus Fedora versus Ubuntu versus Debian versus Alpine with your co-workers; and, especially if you’re in an enterprise environment, figure out how to have that supported in production), figure out appropriate JVM startup parameters for a container, add monitoring, and so.

But perhaps what you really wanted to do today is…well, just get your Java app running in a cloud!

Read on to find an easier way.

Continue reading “Building Java 11 and Gradle containers for OpenShift”

Share
Processing CloudEvents with Eclipse Vert.x

Processing CloudEvents with Eclipse Vert.x

Our connected world is full of events that are triggered or received by different software services. One of the big issues is that event publishers tend to describe events differently and in ways that are mostly incompatible with each other.

To address this, the Serverless Working Group from the Cloud Native Computing Foundation (CNCF) recently announced version 0.2 of the CloudEvents specification. The specification aims to describe event data in a common, standardized way. To some degree, a CloudEvent is an abstract envelope with some specified attributes that describe a concrete event and its data.

Working with CloudEvents is simple. This article shows how to use the powerful JVM toolkit provided by Vert.x to either generate or receive and process CloudEvents.

Continue reading “Processing CloudEvents with Eclipse Vert.x”

Share
How to install Java 8 and 11 on Red Hat Enterprise Linux 8 Beta

How to install Java 8 and 11 on Red Hat Enterprise Linux 8 Beta

With Red Hat Enterprise Linux (RHEL) 8 Beta, two major versions of Java will be supported: Java 8 and Java 11. In this article, I’ll refer to Java 8 as JDK (Java Development Kit) 8 since we are focusing on the development aspect of using Java. JDK 8 and JDK 11 refer to Red Hat builds of OpenJDK 8 and OpenJDK 11 respectively. Through this article, you’ll learn how to install and run simple Java applications on RHEL 8 Beta, how to switch between two parallel installed major JDK versions via alternatives and how to select one of the two JDKs on a per-application basis.

Continue reading “How to install Java 8 and 11 on Red Hat Enterprise Linux 8 Beta”

Share
Free Online Java EE Development Course From Red Hat Available Now

Free Online Java EE Development Course From Red Hat Available Now

The Red Hat Training team is pleased to announce the release of Fundamentals of Java EE Development. This free training is hosted by our partner edX. edX is an open online course provider that now hosts three Red Hat courses, including Fundamentals of Red Hat Enterprise Linux and Fundamentals of Containers, Kubernetes, and Red Hat OpenShift. 

Enterprise Java (Java EE is now known as Jakarta EE) is one of the most in-demand and marketable programming platforms. With Fundamentals of Java EE Development, students learn the foundational skills needed to develop modern applications. Serving as an introduction to enterprise Java development using Red Hat Developer Studio and Red Hat JBoss Enterprise Application Platform, this course builds on students’ Java SE skills to teach the basic concepts behind more advanced topics such as microservices and cloud-native applications.

 

Continue reading “Free Online Java EE Development Course From Red Hat Available Now”

Share
Diagnosing Java applications on the fly with Byteman

Diagnosing Java applications on the fly with Byteman

Production being affected by software issues is always an unwanted scenario. Diagnosing production issues, however, should never be an unplanned activity. Structured testing and QA efforts would ideally prevent any software bugs from entering production. So the dilemma is how to prepare for something unexpected in production that was not considered during the earlier testing and QA phases.

This article discusses Byteman, a tool that leverages the Java Instrumentation API to inject Java code into methods without the need to recompile, repackage, or even redeploy the application.

Continue reading “Diagnosing Java applications on the fly with Byteman”

Share
Migrating from Oracle JDK to OpenJDK on Red Hat Enterprise Linux: What you need to know

Migrating from Oracle JDK to OpenJDK on Red Hat Enterprise Linux: What you need to know

Oracle has announced that the Oracle JDK 8 builds released after Jan 2019 cease to be free for commercial use. GPL + Classpath Exception licensed (free for any use, subject to that license) are current made available by Oracle through http://jdk.java.net/11/. (See also Oracle’s blog entry & licensing).
An alternative is to use OpenJDK and effort is underway to make them fully interchangeable. A number of companies who are currently using Oracle JDK in production are making the decision to switch to OpenJDK or have already done so.

Andrew Haley (Red Hat’s Java Platform Lead Engineer) recently wrote a great article on the direction of OpenJDK.

In this article, I’ll discuss: the technical and support implications of the migration, what developers and operations teams need to know, and solutions to potential challenges.

I’ll go over the Red Hat support model and technical details of how to install, update, and run different OpenJDK versions on Red Hat Enterprise Linux (RHEL) 6 and 7 systems. I’ll also discuss the operations of Java applications (such as Red Hat JBoss Enterprise Application Platform (JBoss EAP) and other servers) on top of OpenJDK.

While this article is about OpenJDK on RHEL, I should also point out that OpenJDK for Windows can also be downloaded from developers.redhat.com. This lets you use the same JDK for Linux and Windows.

Continue reading “Migrating from Oracle JDK to OpenJDK on Red Hat Enterprise Linux: What you need to know”

Share
Logging incoming and outgoing messages for Red Hat AMQ 7

Logging incoming and outgoing messages for Red Hat AMQ 7

In this article, I will discuss how to capture incoming and outgoing messages for Red Hat AMQ 7 (RHAMQ 7). This might advantageous if you need to log the incoming or outgoing traffic, or the messages from a broker, or during development and/or testing when you want to see all message. Additionally, There may also be a need to modify messages in transit. Using RHAMQ 7 interceptors, you can intercept traffic to and from the RHAMQ 7 broker. You can also modify messages using the interceptor.

Continue reading “Logging incoming and outgoing messages for Red Hat AMQ 7”

Share
Announcing Red Hat Developer Studio 12.9.0.GA and JBoss Tools 4.9.0.Final for Eclipse 2018-09

Announcing Red Hat Developer Studio 12.9.0.GA and JBoss Tools 4.9.0.Final for Eclipse 2018-09

Attention desktop IDE users: Red Hat Developer Studio 12.9 and the community edition, JBoss Tools 4.9.0 for Eclipse 2018-09, are now available. You can download the Developer Studio bundled installer, which installs Eclipse 4.9 with all of the JBoss Tools already configured. Or, if you have an existing Eclipse 4.9 (2018-09) installation, you can download the JBoss Tools package.

This article highlights some of the new features in both JBoss Tools and Eclipse Photon, covering WildFly, Spring Boot, Camel, Maven, and many Java-related improvements—including full Java 11 support.

Developer Studio/JBoss Tools provides a desktop IDE with a broad set of tooling covering multiple programming models and frameworks. If you are doing container/cloud development, there is integrated functionality for working with Red Hat OpenShift, Kubernetes, Red Hat Container Development Kit, and Red Hat OpenShift Application Runtimes. For integration projects, there is tooling covering Camel and Red Hat Fuse that can be used in both local and cloud deployments.

Continue reading “Announcing Red Hat Developer Studio 12.9.0.GA and JBoss Tools 4.9.0.Final for Eclipse 2018-09”

Share
The future of Java and OpenJDK updates without Oracle support

The future of Java and OpenJDK updates without Oracle support

Oracle recently announced that it would no longer supply free (as in beer) binary downloads for JDK releases after a six-month period, and neither would Oracle engineers write patches for OpenJDK bugs after that period. This has caused a great deal of concern among some Java users.

From my point of view, this is little more than business as usual. Several years ago, the OpenJDK 6 updates (jdk6u) project was relinquished by Oracle and I assumed leadership, and then the same happened with OpenJDK 7. Subsequently, Andrew Brygin of Azul took over the leadership of OpenJDK 6. The OpenJDK Vulnerability Group, with members from many organizations, collaborates on critical security issues. With the help of the wider OpenJDK community and my team at Red Hat, we have continued to provide updates for critical bugs and security vulnerabilities at regular intervals. I can see no reason why this process should not work in the same way for OpenJDK 8 and the next long-term support release, OpenJDK 11.

Continue reading “The future of Java and OpenJDK updates without Oracle support”

Share