Articles


Introduction

While developing applications using Spring batch, especially in a micro-service project, we sometimes face one or most of the following cases:

  • The necessity of getting the security context inside the batch items to call methods that require authorizations inside the same micro-service or perform remote processing by calling other micro-services using Feign Client (HTTP) or  Spring Cloud Stream (broker like Kafka, RabbitMq …)
  • Propagating Sleuth trace Id and span Id in order to enhance logs traceability inside all the application components including other micro-services so the trace will not be lost if we use Job.
  • Getting the connected user Locale (i18n) in order to generate internationalized output otherwise, all the Job outputs will be generated in the default server language.
  • Retrieving objects stored inside Mapped Diagnostic Context  (MDC) for tracing purposes.

The following schema illustrates remote calls that can be performed in a micro-service-based application and the context information that String Batch items can propagate.

Source de l’article sur DZONE

Much like the practice of enterprise software delivery itself, traceability is complex and fast becoming one of the biggest technical headaches for organizations worldwide. 

It’s easy to see why. Think of all those concurrent product lines. All those evolving features. All that mutable product information that specialist teams create and depend on during different stages of the process. Think of how the essence of Agile means requirements constantly evolve from backlog to deployed.

Source de l’article sur DZone