Microservices

Eclipse Vert.x logo
Article

JUnit 5 support lands in Eclipse Vert.x for testing asynchronous operations

Julien Ponge

Eclipse Vert.x is increasingly popular for writing reactive applications on the JVM. Testing code with asynchronous operations is more challenging than it seems. JUnit 5 is a rewrite of the famous Java testing framework that brings new interesting features. Testing using JUnit 5 is now available in Vert.x

Article Thumbnail
Article

Enabling Byteman Script with Red Hat JBoss Fuse and AMQ - Part 2

Chandra Shekhar Pandey

When using Byteman scripts for tracing and debugging with Red Hat JBoss Fuse and AMQ, learn how to use Java helper classes with for advanced options, such as viewing or modifying arguments, and utilizing 'java.util.logging' to inject messages into the existing logs.

Article Thumbnail
Article

Enabling Byteman Script with Red Hat JBoss Fuse and AMQ - Part1

Chandra Shekhar Pandey

In a production or customer environment it is not always possible to identify issues by looking at logs or setting up a remote debugging using IDE. Often the issues are specific to the environment and can't be reproduced. having byteman scripts can help in identifying issues without actual code changes.

Deploying to OpenShift e-book tile card
E-book

Deploying to OpenShift

Graham Dumpleton

Get an in-depth tour of OpenShift®, the container-based software deployment and management platform from Red Hat® that provides a secure multitenant environment for the enterprise. This practical guide describes in detail how OpenShift, building on Kubernetes, enables you to automate the way you create, ship, and run applications in a containerized environment.

Apache Camel logo
Article

Using Camel-Undertow component supporting http2 connection

Chandra Shekhar Pandey

This article would help to configure http2 protocol support for the camel-undertow component. Camel's undertow component use embedded undertow web-container of version undertow-core:jar:1.4.21. This version also supports the http2 connection. I have used camel version 2.21.0-SNAPSHOT from upstream https://github.com/apache/camel. Also, the curl version to test application using camel-undertow component is 7.53.1. This curl version supports --http2 flag for sending an http2 request. I have also used nghttp to test application from linux terminal. However, this article is not about http2...

Hexagonal Architecture
Article

Hexagonal Architecture as a Natural fit for Apache Camel

Bilgin Ibryam

There are architectures and patterns that look cool on paper, and there are ones that are good in practice. Implementing the hexagonal architecture with Camel is both: cool to talk about, and a natural implementation outcome. I love going hexagonal with Camel because it is one of these combinations where the architecture and the tool come together naturally, and many end up doing it without realizing it. Let’s see why that is the case. Why go Hexagonal? Hexagonal architecture is...

Article Thumbnail
Article

The State of Microservices Survey 2017 - Eight trends you need to know

Cesar Saavedra

During the fall of 2017, we conducted a microservices survey with our Red Hat Middleware and Red Hat OpenShift customers. Here are eight interesting trends discerned by the results: I. Microservices are being used to re-architect existing applications as much as for brand new projects There seems to be a strong emphasis in the market by technology vendors for positioning microservices as being only for new projects. However, our survey reveals that organizations are also using microservices to re-architect existing...

Configuring mKahaDB persistence storage for ActiveMQ
Article

Configuring mKahaDB persistence storage for ActiveMQ

Chandra Shekhar Pandey

In this post, I wanted to address how to configure mKahaDB persistence storage on ActiveMQ for better management and reducing disk usage. Default configured KahaDB persistence adapter works well when all the destinations (queues/topics) being managed by the broker have similar performance. However, an enterprise solution where several third parties are involved is never the case. There are multiple queues or topics and different consumers or listeners listening to these queues/topics. Some consumers might be slower than other consumers. This...

MicroProfile logo
Article

MicroProfile at EclipseCon Europe

Heiko Rupp

EclipseCon Europe happened in October 2017 in Ludwigsburg, Germany and featured a ton of Red Hat speakers. My personal focus for this Event was Eclipse MicroProfile and I gave a talk about "The monitoring aspects of Eclipse Microprofile". (Slides are available on SlideShare) In my talk, I basically presented what I have written about in those two blog posts: https://developers.redhat.com/blog/2017/10/17/monitoring-aspects-eclipse-microprofile-1-2/ https://developers.redhat.com/blog/2017/10/25/monitor-eclipse-microprofile-1-2-server-prometheus/ Other presentations around MicroProfile were: Resilient Java Microservices with Eclipse MicroProfile Open Java EE and Eclipse MicroProfile Eclipse MicroProfile...

Red Hat JBoss Developer Studio Logo
Article

Announcing Red Hat Developer Studio 11.1.0.GA and JBoss Tools 4.5.1.Final for Eclipse Oxygen.1A

Jeff Maury

JBoss Tools 4.5.1 and Red Hat JBoss Developer Studio 11.1 for Eclipse Oxygen.1A are here waiting for you. Check it out! Installation JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it from our JBoss Products page and run it like this: java -jar jboss-devstudio-.jar JBoss Tools or Bring-Your-Own-Eclipse (BYOE) JBoss Developer Studio requires a bit more: This release requires at least Eclipse 4.7 (Oxygen) but we recommend using the latest Eclipse 4.7.1A Oxygen JEE Bundle since...

10 steps cloud happiness
Article

10 Steps to Cloud happiness - Introduction

Eric D. Schabell

No matter how many steps there are, it's always a journey and this story is no exception. It seems like a long trek, but in just 10 steps, you can find your cloud happiness. There are always ups and downs in any journey as you traverse the path you've chosen. This is no truer for a walk to the top of a ridgeline as much as for your digital journey into the cloud. As an application developer, or as an...

Dynamic Storage
Article

How to configure persistent storage with OpenShift or Kubernetes for development environment

Chandra Shekhar Pandey

We know that containers in Openshift or Kubernetes don't persist data. Every time we start an application, it is started in a new container with an immutable Docker image. Hence, any persisted data in the file systems is lost when the container stops. Hence if an application or container is rebuilt or restarted than we can't view previous logs or if we are using containers with mysql or any other database then schema, tables, and all data will be lost...

MicroProfile logo
Article

How to monitor an Eclipse MicroProfile 1.2 server with Prometheus

Heiko Rupp

Eclipse MicroProfile has added a Monitoring specification in its 1.2 release. This allows for a common way of monitoring servers that implement the specification. In this article, you will learn how to monitor MicroProfile 1.2 servers with the popular Prometheus monitoring system. Overview I have described the concepts of Eclipse MircoProfile (MP) Monitoring in a previous article: servers expose a basic set of system metrics that are common for each implementation of the MP-Metrics specification. Applications can in addition also...

Data Streaming with WildFly Swarm and Apache Kafka
Article

Data Streaming with WildFly Swarm and Apache Kafka

Ken Finnigan

At the beginning of October, I attended JavaOne in San Francisco to present on WildFly Swarm and Apache Kafka. For those of you that weren't able to attend the session, or for those that did and saw first hand the issues with the demo, I will be covering all the details of how the demo should work! The presentation material that was presented at JavaOne can be found here, and all the code for the demos is in GitHub. MiniShift...

Red Hat Logo
Article

Low-risk Monolith to Microservice Evolution Part II

Christian Posta

Let’s dive right in! In the previous post (part I), we set up the context for this blog. Basically, as we introduce a strategy to bring microservices to our architecture, we cannot and should not disrupt the current request flows. Our "monolith" applications typically provide a lot of value for the business and we must drive down the risk of negatively affecting these systems as we iterate and expand. This leads us to an often-overlooked fact: when we start to...

A MicroProfile-based microservice on OpenShift Container Platform
Article

A MicroProfile-based microservice on OpenShift Container Platform - Part 3

Cesar Saavedra

Creating, associating, and using a JBoss Data Grid (with persistence) with a MicroProfile-based microservice In this blog post, I will cover how to create, populate, and associate a JBoss Data Grid (with persistence using a Postgresql database) to your MicroProfile-based microservice. I will also cover how to modify the microservice so that it makes use of JBoss Data Grid (JDG). This is the continuation of the “A MicroProfile-based microservice on OpenShift Container Platform - Part 2; Creating, associating and using...

Red Hat Logo
Article

About When Not to Do Microservices

Christian Posta

Quick interlude to my last blog. As part of my last blog on low-risk monolith to microservice architecture, I made this statement about microservices and not doing them: “Microservices architecture is not appropriate all the time”. I’ve had some interesting reactions. Some of it along the lines of “how dare you”. I also poked at that a bit on Twitter a month or so ago Let me expand a little bit. Doing microservices, or monoliths, or SOA, or Microliths or...

Eclipse logo
Article

Jug Summer Camp 2017, Vert.x and collaborative DJ mix

Julien Ponge

I had the pleasure to present "Eclipse Vert.x for Dj fun and for profit!" at the latest edition of the Jug Summer Camp in La Rochelle, France. The Jug Summer Camp is a popular developer conference organized by Serli in western France, gathering regional attendees as well as speakers and participants from other French Java user groups. My talk was an introduction to reactive programming with Eclipse Vert.x, featuring demos with RxJava-based edge services as well a collaborative DJ mix...

A MicroProfile-based microservice on OpenShift Container Platform
Article

The Monitoring aspects of Eclipse MicroProfile 1.2

Heiko Rupp

Eclipse MicroProfile (MP) aims at bringing Microservices to Enterprise Java by developing common standards that MP-compliant vendors then implement [1]. This not only applies for developer APIs but also to interfaces for running, configuring, and managing the servers. The more classical specifications have often left out many details as vendor-specific - especially in the area of setting up and running of the applications and servers. For the Java Enterprise Edition, there are standards like JMX and JSR-77, but those were...

Article Thumbnail
Article

JBoss A-MQ on OpenShift Cheat Sheet

Abdellatif Bouchama

We hear about Microservices a lot nowadays. Its implementation requires us to deal with new challenges. A key question that comes with using microservices is how to handle interactions in an asynchronous way. The answer to that is messaging. Among other things, messaging features the following: Loose coupling since it decouples client from services. Improved availability since the message broker buffers messages until the consumer is able to process them. Supports a variety of communication patterns including request/reply, notifications, request/async...

Article Thumbnail
Article

Configuring Spring Boot on Kubernetes with Secrets

Kamesh Sampath

In the Part-I of the series, we saw how we used ConfigMaps in configuring spring boot application Kubernetes. ConfigMaps are OK when we use simple configuration data that do not contain sensitive information. When using sensitive data like API Keys, passwords etc. Secrets are the preferred and recommended way. In this second part of the series, we will explore configuring spring boot on kubernetes with Secrets. The sources for this blog post are available in my github repo. Setup You...

Article Thumbnail
Article

Configuring Spring Boot on Kubernetes with ConfigMap

Kamesh Sampath

ConfigMaps is the Kubernetes counterpart of the Spring Boot externalized configuration. ConfigMaps is a simple key/value store, which can store simple values to files. In this post "Configuring Spring Boot on Kubernetes with ConfigMap", we will see how to use ConfigMaps to externalize the application configuration. One of the ways configuring the spring boot application on kubernetes is to use ConfigMaps. ConfigMaps is a way to decouple the application specific artifacts from the container image, thereby enabling better portability and...

Article Thumbnail
Article

Configuring Spring Boot Application on Kubernetes

Kamesh Sampath

When the developers plan to deploy Spring Boot application on Kubernetes, the first question comes to a spring developer's mind is "Can I use Spring Config server?" Spring Config server is a de-facto way of doing centralized configuration of a distributed application. Yes, we can use Spring Config server, but let’s think of some constraints that Spring Config server can have in a typical Enterprise deployment: No access to the internet from production. This means I can’t use the default...

Article Thumbnail
Article

Handling Exception Scenarios in REST API developed using JAX-RS

Rahul Kumar

Prerequisite: Hands on Knowledge of REST API Development using JAX-RS. REST Services has been an integral part of complex enterprise applications for several years. Developers generally prefer two APIs listed below for building REST API in their enterprise applications. JAX-RS – Part of JEE Specification with different implementations like RestEasy, Jersey, Restlet etc. Spring Boot – An OpenSource Spring Community Project best suited for Microservices-based applications. In this Article, we will learn how to handle Exceptions gracefully in Rest APIs...

Low-risk Monolith to Microservice Evolution Part I
Article

Low-risk Monolith to Microservice Evolution Part I

Christian Posta

As part of a two-day microservices workshop I’m putting together, I’ve been thinking a lot about how to explain monolith-application decomposition and what a transition to microservices might look like. This is a small subset of that material, but I want to share it with you to get feedback (in the workshop we go into more detail about whether you should even break up your monolith). I base this on my own tried and true real-life experience as well as...