Book Image

Hands-On Enterprise Java Microservices with Eclipse MicroProfile

By : Cesar Saavedra, Heiko W. Rupp, Jeff Mesnil, Pavol Loffay, Antoine Sabot-Durand, Scott Stark
Book Image

Hands-On Enterprise Java Microservices with Eclipse MicroProfile

By: Cesar Saavedra, Heiko W. Rupp, Jeff Mesnil, Pavol Loffay, Antoine Sabot-Durand, Scott Stark

Overview of this book

Eclipse MicroProfile has gained momentum in the industry as a multi-vendor, interoperable, community-driven specification. It is a major disruptor that allows organizations with large investments in enterprise Java to move to microservices without spending a lot on retraining their workforce. This book is based on MicroProfile 2.2, however, it will guide you in running your applications in MicroProfile 3.0. You'll start by understanding why microservices are important in the digital economy and how MicroProfile addresses the need for enterprise Java microservices. You'll learn about the subprojects that make up a MicroProfile, its value proposition to organizations and developers, and its processes and governance. As you advance, the book takes you through the capabilities and code examples of MicroProfile’s subprojects - Config, Fault Tolerance, Health Check, JWT Propagation, Metrics, and OpenTracing. Finally, you’ll be guided in developing a conference application using Eclipse MicroProfile, and explore possible scenarios of what’s next in MicroProfile with Jakarta EE. By the end of this book, you'll have gained a clear understanding of Eclipse MicroProfile and its role in enterprise Java microservices.
Table of Contents (18 chapters)
Free Chapter
1
Section 1: MicroProfile in the Digital Economy
4
Section 2: MicroProfile's Current Capabilities
9
Section 3: MicroProfile Implementations and Roadmap
11
Section 4: A Working MicroProfile Example
13
Section 5: A Peek into the Future

Understanding Eclipse MicroProfile Config

Every application needs some external configuration to adapt its behavior to the runtime platform it's running on. It can range from the HTTP endpoints that the application must connect to, or the size of some internal structures.

These configuration parameters can also come from different sources:

  • From the operating system or the container in a cloud-native environment (through the use of environment variables)
  • From the Java virtual machine (with system properties)
  • From some external configuration files (such as the Java properties file)
  • From other places (an LDAP server, database, key-value store, and so on)

On the one hand, these configuration parameters come from many different sources. On the other hand, we want to consume them in the Java application in a simple way that does not depend on the source of the configuration....