You need to sign in or sign up before continuing.
Commit dc555be0 authored by Ali Saeed's avatar Ali Saeed

Added Resilience (Circuit Breaker) for API Gateway with Monitoring (Prometheus, Grafana)

parent 1d5f5f4d
......@@ -15,26 +15,10 @@ spring:
cloud:
gateway:
routes:
- id: invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-damascus-zone
uri: lb://users-service
predicates:
- Path=/users/**
- id: invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-latakia-zone
uri: lb://users-service
predicates:
......
......@@ -15,26 +15,10 @@ spring:
cloud:
gateway:
routes:
- id: invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-damascus-zone
uri: lb://users-service
predicates:
- Path=/users/**
- id: invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-latakia-zone
uri: lb://users-service
predicates:
......
......@@ -37,6 +37,15 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
......
package org.example.resources;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/")
public class FallbackMethod {
@RequestMapping("users-fallback")
public String getUsersFallback(){
return "Users Service is temporary unavailable, Please Try Again Later";
}
@RequestMapping("invoicing-fallback")
public String getInvoicingFallback(){
return "Invoicing Service is temporary unavailable, Please Try Again Later";
}
}
server:
port: 9090
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: false
preferSameZoneEureka: true
instance:
metadataMap:
zone: damascus
spring:
application:
name: api-gateway
cloud:
gateway:
routes:
- id: invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-damascus-zone
uri: lb://users-service
predicates:
- Path=/users/**
- id: invoicing-service-latakia-zone
- id: invoicing-service
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-latakia-zone
filters:
- name: CircuitBreaker
args:
name: invoicingCircuitBreaker
fallbackUri: forward:/invoicing-fallback
- id: users-service
uri: lb://users-service
predicates:
- Path=/users/**
filters:
- name: CircuitBreaker
args:
name: usersCircuitBreaker
fallbackUri: forward:/users-fallback
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: true
fetch-registry: true
preferSameZoneEureka: true
instance:
metadataMap:
zone: damascus
management:
health:
circuitbreakers:
enabled: true
endpoints:
web:
exposure:
include: health,prometheus
endpoint:
health:
show-details: always
resilience4j:
circuitbreaker:
instances:
usersCircuitBreaker:
registerHealthIndicator: true
eventConsumerBufferSize: 10
failureRateThreshold: 80
minimumNumberOfCalls: 10
automaticTransitionFromOpenToHalfOpenEnabled: true
waitDurationInOpenState: 10s
permittedNumberOfCallsInHalfOpenState: 3
slidingWindowSize: 10
slidingWindowType: COUNT_BASED
server:
port: 9090
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: false
preferSameZoneEureka: true
instance:
metadataMap:
zone: damascus
spring:
application:
name: api-gateway
cloud:
gateway:
routes:
- id: invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-damascus-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-damascus-zone
uri: lb://users-service
predicates:
- Path=/users/**
- id: invoicing-service-latakia-zone
- id: invoicing-service
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: replica-invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-latakia-zone
filters:
- name: CircuitBreaker
args:
name: invoicingCircuitBreaker
fallbackUri: forward:/invoicing-fallback
- id: users-service
uri: lb://users-service
predicates:
- Path=/users/**
filters:
- name: CircuitBreaker
args:
name: usersCircuitBreaker
fallbackUri: forward:/users-fallback
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: true
fetch-registry: true
preferSameZoneEureka: true
instance:
metadataMap:
zone: damascus
management:
health:
circuitbreakers:
enabled: true
endpoints:
web:
exposure:
include: health,prometheus
endpoint:
health:
show-details: always
resilience4j:
circuitbreaker:
instances:
usersCircuitBreaker:
registerHealthIndicator: true
eventConsumerBufferSize: 10
failureRateThreshold: 80
minimumNumberOfCalls: 10
automaticTransitionFromOpenToHalfOpenEnabled: true
waitDurationInOpenState: 10s
permittedNumberOfCallsInHalfOpenState: 3
slidingWindowSize: 10
slidingWindowType: COUNT_BASED
version: '3'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
volumes:
- ./docker/prometheus-desktop.yml:/etc/prometheus/prometheus.yml
ports:
- "9092:9090"
networks:
- net
grafana:
image: grafana/grafana
container_name: grafana
env_file:
- ./docker/grafana.env
ports:
- "3000:3000"
networks:
- net
networks:
net:
\ No newline at end of file
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "Resilience4j Metrics",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 2,
"iteration": 1557141276207,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 19,
"panels": [],
"title": "Summary",
"type": "row"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPostfix": false,
"colorPrefix": false,
"colorValue": true,
"colors": [
"#d44a3a",
"rgba(237, 129, 40, 0.89)",
"#73BF69"
],
"datasource": "Prometheus",
"format": "none",
"gauge": {
"maxValue": 2,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 5,
"w": 12,
"x": 0,
"y": 1
},
"id": 8,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "CLOSED:",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(150, 217, 141, 0.22)",
"full": false,
"lineColor": "#73BF69",
"show": true
},
"tableColumn": "",
"targets": [
{
"expr": "sum(resilience4j_circuitbreaker_state{state=\"closed\"})",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"refId": "A"
}
],
"thresholds": "0,1",
"timeFrom": null,
"timeShift": null,
"title": "Number of closed CircuitBreaker",
"type": "singlestat",
"valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPostfix": false,
"colorPrefix": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#F2495C"
],
"datasource": "Prometheus",
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": false
},
"gridPos": {
"h": 5,
"w": 12,
"x": 12,
"y": 1
},
"id": 6,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "OPEN: ",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "#FFA6B0",
"full": false,
"lineColor": "#F2495C",
"show": true
},
"tableColumn": "",
"targets": [
{
"expr": "sum(resilience4j_circuitbreaker_state{state=~\"open|forced_open\"})",
"format": "time_series",
"intervalFactor": 1,
"refId": "A"
}
],
"thresholds": "1,5",
"timeFrom": null,
"timeShift": null,
"title": "Number of open CircuitBreaker",
"type": "singlestat",
"valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current"
},
{
"aliasColors": {},
"bars": false,
"cacheTimeout": null,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"decimals": null,
"description": "",
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 6
},
"id": 4,
"interval": "",
"legend": {
"alignAsTable": false,
"avg": false,
"current": true,
"hideEmpty": false,
"hideZero": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sideWidth": null,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "6.1.6",
"pointradius": 2,
"points": false,
"renderer": "flot",
"repeat": null,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "resilience4j_circuitbreaker_state{instance=\"$instance\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{ name }}: {{ state }}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CircuitBreaker States",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": 0,
"format": "short",
"label": "Number",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"decimals": null,
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#FF9830",
"#d44a3a"
],
"datasource": "Prometheus",
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 6
},
"id": 21,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"pluginVersion": "6.1.6",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "HALF_OPEN: ",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"expr": "sum(resilience4j_circuitbreaker_state{state=\"half_open\"})",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"legendFormat": "",
"refId": "A"
}
],
"thresholds": "0,1",
"timeFrom": null,
"timeShift": null,
"title": "Number of half_open CircuitBreaker",
"type": "singlestat",
"valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 13
},
"id": 15,
"panels": [],
"repeat": "circuitbreaker_name",
"scopedVars": {
"circuitbreaker_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"title": "CircuitBreaker",
"type": "row"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"datasource": "Prometheus",
"description": "",
"format": "percent",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": true,
"thresholdLabels": true,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 14
},
"id": 2,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"pluginVersion": "6.1.6",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"repeat": null,
"repeatDirection": "h",
"scopedVars": {
"circuitbreaker_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"expr": "resilience4j_circuitbreaker_failure_rate{instance=\"$instance\",name=\"$circuitbreaker_name\"}",
"format": "time_series",
"hide": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{ name }}",
"refId": "A"
}
],
"thresholds": "40,50",
"timeFrom": null,
"timeShift": null,
"title": "Failure Rate: $circuitbreaker_name",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
},
{
"op": "=",
"text": "N/A",
"value": "-1"
}
],
"valueName": "current"
},
{
"aliasColors": {
"failed ": "red",
"ignored ": "blue",
"not_permitted ": "orange",
"successful ": "green"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 7,
"w": 16,
"x": 8,
"y": 14
},
"id": 23,
"interval": "",
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": true,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": true,
"renderer": "flot",
"scopedVars": {
"circuitbreaker_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "rate(resilience4j_circuitbreaker_calls_seconds_count{instance=\"$instance\",name=\"$circuitbreaker_name\"}[1m])",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "{{ kind }} ",
"refId": "A"
},
{
"expr": "rate(resilience4j_circuitbreaker_calls_total{instance=\"$instance\",name=\"$circuitbreaker_name\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{ kind }} ",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Call rate: $circuitbreaker_name",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "Calls/sec",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"failed": "red",
"successful": "green"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 21
},
"id": 11,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"hideEmpty": false,
"hideZero": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"repeat": null,
"repeatDirection": "h",
"scopedVars": {
"circuitbreaker_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "resilience4j_circuitbreaker_buffered_calls{instance=\"$instance\",name=\"$circuitbreaker_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{ kind }}",
"refId": "A"
},
{
"expr": "resilience4j_circuitbreaker_max_buffered_calls{instance=\"$instance\",name=\"$circuitbreaker_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "maximum",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Buffered calls: $circuitbreaker_name",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": 1,
"format": "short",
"label": "Number",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 7,
"w": 16,
"x": 8,
"y": 29
},
"id": 26,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideZero": false,
"max": true,
"min": true,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"scopedVars": {
"circuitbreaker_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "histogram_quantile(0.9, sum(rate(resilience4j_circuitbreaker_calls_seconds_bucket{application=\"$application\", instance=\"$instance\", name=\"$circuitbreaker_name\"}[1m])) by (le))",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "90th Percentile",
"refId": "A"
},
{
"expr": "histogram_quantile(0.95, sum(rate(resilience4j_circuitbreaker_calls_seconds_bucket{application=\"$application\", instance=\"$instance\", name=\"$circuitbreaker_name\"}[1m])) by (le))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "95th Percentile",
"refId": "B"
},
{
"expr": "histogram_quantile(0.98, sum(rate(resilience4j_circuitbreaker_calls_seconds_bucket{application=\"$application\", instance=\"$instance\", name=\"$circuitbreaker_name\"}[1m])) by (le))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "98th Percentile",
"refId": "C"
},
{
"expr": "histogram_quantile(0.50, sum(rate(resilience4j_circuitbreaker_calls_seconds_bucket{application=\"$application\", instance=\"$instance\", name=\"$circuitbreaker_name\"}[1m])) by (le))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Median",
"refId": "D"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Call duration percentiles",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "s",
"label": "Average duration",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"failed": "red",
"ignored": "blue",
"successful": "green"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 7,
"w": 16,
"x": 8,
"y": 36
},
"id": 25,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideZero": false,
"max": true,
"min": true,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": true,
"renderer": "flot",
"scopedVars": {
"circuitbreaker_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "increase(resilience4j_circuitbreaker_calls_seconds_sum{instance=\"$instance\",name=\"$circuitbreaker_name\"}[1m]) / increase(resilience4j_circuitbreaker_calls_seconds_count{instance=\"$instance\",name=\"$circuitbreaker_name\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{ kind }}",
"refId": "A"
},
{
"expr": "sum(increase(resilience4j_circuitbreaker_calls_seconds_sum{instance=\"$instance\",name=\"$circuitbreaker_name\"}[1m])) / sum(increase(resilience4j_circuitbreaker_calls_seconds_count{instance=\"$instance\",name=\"$circuitbreaker_name\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "total ",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Average call durations",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "s",
"label": "Average duration",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 43
},
"id": 28,
"panels": [],
"repeat": "retry_name",
"scopedVars": {
"retry_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"title": "Retry",
"type": "row"
},
{
"aliasColors": {
"failed_with_retry": "red",
"failed_without_retry": "orange",
"successful_with_retry": "yellow",
"successful_without_retry": "green"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 44
},
"id": 30,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": true,
"renderer": "flot",
"scopedVars": {
"retry_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "rate(resilience4j_retry_calls{application=\"$application\",name=\"$retry_name\",}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{ kind }}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Rate retryable calls: $retry_name",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "Number of calls",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 52
},
"id": 32,
"panels": [],
"repeat": "bulkhead_name",
"scopedVars": {
"bulkhead_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"title": "Bulkhead",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 53
},
"id": 34,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": true,
"renderer": "flot",
"scopedVars": {
"bulkhead_name": {
"selected": true,
"text": "backendA",
"value": "backendA"
}
},
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "resilience4j_bulkhead_available_concurrent_calls{application=\"$application\",name=\"$bulkhead_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Available Calls",
"refId": "A"
},
{
"expr": "resilience4j_bulkhead_max_allowed_concurrent_calls{application=\"$application\",name=\"$bulkhead_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Max allowed Calls",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Bulkhead: $bulkhead_name",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"refresh": false,
"schemaVersion": 18,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": null,
"current": {
"text": "resilience4j-demo",
"value": "resilience4j-demo"
},
"datasource": "Prometheus",
"definition": "label_values(application)",
"hide": 0,
"includeAll": false,
"label": "Application",
"multi": false,
"name": "application",
"options": [],
"query": "label_values(application)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {
"text": "localhost:9080",
"value": [
"localhost:9080"
]
},
"datasource": "Prometheus",
"definition": "label_values(resilience4j_circuitbreaker_state, instance)",
"hide": 0,
"includeAll": true,
"label": "Instance",
"multi": true,
"name": "instance",
"options": [
{
"selected": false,
"text": "All",
"value": "$__all"
},
{
"selected": true,
"text": "localhost:9080",
"value": "localhost:9080"
}
],
"query": "label_values(resilience4j_circuitbreaker_state, instance)",
"refresh": 0,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {
"text": "backendA",
"value": "backendA"
},
"datasource": "Prometheus",
"definition": "label_values(resilience4j_circuitbreaker_state, name)",
"hide": 0,
"includeAll": false,
"label": "CircuitBreaker Name",
"multi": true,
"name": "circuitbreaker_name",
"options": [],
"query": "label_values(resilience4j_circuitbreaker_state, name)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {
"tags": [],
"text": "backendA",
"value": [
"backendA"
]
},
"datasource": "Prometheus",
"definition": "label_values(resilience4j_retry_calls, name)",
"hide": 0,
"includeAll": true,
"label": "Retry Name",
"multi": true,
"name": "retry_name",
"options": [],
"query": "label_values(resilience4j_retry_calls, name)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {
"text": "backendA",
"value": "backendA"
},
"datasource": "Prometheus",
"definition": "label_values(resilience4j_bulkhead_available_concurrent_calls, name)",
"hide": 0,
"includeAll": true,
"label": "Bulkead Name",
"multi": true,
"name": "bulkhead_name",
"options": [],
"query": "label_values(resilience4j_bulkhead_available_concurrent_calls, name)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "Resilience4j",
"uid": "DshZ5zmWk",
"version": 53
}
\ No newline at end of file
# [server]
# GF_SERVER_DOMAIN=localhost
# GF_SERVER_HTTP_PORT=3000
# GF_SERVER_PROTOCOL=http
\ No newline at end of file
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'resilience4j-monitor'
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'Cloud-Gateway'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
metrics_path: /actuator/prometheus
static_configs:
# Use the service name (see docker-compose-desktop.yml) instead of localhost
- targets: ['host.docker.internal:9090']
......@@ -237,3 +237,100 @@ com.netflix.discovery.shared.transport.TransportException: Cannot execute reques
2024-04-28 13:29:53.180 [main] DEBUG o.e.InvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-04-28 13:29:53.182 [main] INFO o.e.InvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-04-28 13:30:06.119 [main] INFO o.e.InvoicingServiceApplication - Started InvoicingServiceApplication in 16.217 seconds (process running for 18.149)
2024-05-02 15:24:33.180 [main] INFO o.e.InvoicingServiceApplication - Starting InvoicingServiceApplication using Java 17 with PID 5616 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\invoicing-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:24:33.187 [main] DEBUG o.e.InvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:24:33.189 [main] INFO o.e.InvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:24:46.729 [main] INFO o.e.InvoicingServiceApplication - Started InvoicingServiceApplication in 17.881 seconds (process running for 21.37)
2024-05-02 15:54:21.201 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_INVOICING-SERVICE/localhost:invoicing-service:8081 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 18:01:30.722 [main] INFO o.e.InvoicingServiceApplication - Starting InvoicingServiceApplication using Java 17 with PID 7048 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\invoicing-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 18:01:30.737 [main] DEBUG o.e.InvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 18:01:30.740 [main] INFO o.e.InvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 18:01:42.952 [main] INFO o.e.InvoicingServiceApplication - Started InvoicingServiceApplication in 14.834 seconds (process running for 16.68)
2024-05-02 18:03:43.202 [http-nio-8081-exec-1] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:44:05.094 [http-nio-8081-exec-3] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:44:07.118 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_INVOICING-SERVICE/localhost:invoicing-service:8081 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 18:54:00.664 [main] INFO o.e.InvoicingServiceApplication - Starting InvoicingServiceApplication using Java 17 with PID 10236 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\invoicing-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 18:54:00.675 [main] DEBUG o.e.InvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 18:54:00.678 [main] INFO o.e.InvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 18:54:11.815 [main] INFO o.e.InvoicingServiceApplication - Started InvoicingServiceApplication in 13.763 seconds (process running for 15.253)
2024-05-02 18:55:04.676 [http-nio-8081-exec-1] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:56:15.558 [http-nio-8081-exec-2] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:58:18.252 [http-nio-8081-exec-4] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:00:35.620 [http-nio-8081-exec-6] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:06:21.620 [http-nio-8081-exec-8] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:09:11.214 [http-nio-8081-exec-10] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:12:06.511 [http-nio-8081-exec-2] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:14:04.523 [http-nio-8081-exec-4] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 19:22:21.394 [http-nio-8081-exec-10] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:24.893 [http-nio-8081-exec-2] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:26.294 [http-nio-8081-exec-9] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:28.317 [http-nio-8081-exec-1] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:36.820 [http-nio-8081-exec-3] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:40.669 [http-nio-8081-exec-4] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:23:16.355 [http-nio-8081-exec-5] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
......@@ -458,3 +458,107 @@ java.lang.StringIndexOutOfBoundsException: begin -1, end 0, length 58
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-04-28 13:47:00.029 [http-nio-8082-exec-10] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 15:25:03.262 [main] INFO o.e.ReplicaInvoicingServiceApplication - Starting ReplicaInvoicingServiceApplication using Java 17 with PID 10364 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\replica-invoicing-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:25:03.330 [main] DEBUG o.e.ReplicaInvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:25:03.333 [main] INFO o.e.ReplicaInvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:25:16.182 [main] INFO o.e.ReplicaInvoicingServiceApplication - Started ReplicaInvoicingServiceApplication in 16.13 seconds (process running for 18.206)
2024-05-02 15:54:21.594 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_INVOICING-SERVICE/localhost:invoicing-service:8082 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 17:26:56.261 [main] INFO o.e.ReplicaInvoicingServiceApplication - Starting ReplicaInvoicingServiceApplication using Java 17 with PID 14096 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\replica-invoicing-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 17:26:56.276 [main] DEBUG o.e.ReplicaInvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 17:26:56.289 [main] INFO o.e.ReplicaInvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 17:27:10.896 [main] INFO o.e.ReplicaInvoicingServiceApplication - Started ReplicaInvoicingServiceApplication in 17.351 seconds (process running for 18.97)
2024-05-02 17:28:16.268 [http-nio-8082-exec-1] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:28:40.867 [http-nio-8082-exec-2] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:29:15.885 [http-nio-8082-exec-3] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:30:13.715 [http-nio-8082-exec-4] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:37:38.134 [http-nio-8082-exec-6] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:42:27.632 [http-nio-8082-exec-8] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:59:24.152 [http-nio-8082-exec-9] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 17:59:36.218 [http-nio-8082-exec-1] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:02:13.555 [http-nio-8082-exec-4] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:02:17.194 [http-nio-8082-exec-5] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:10:52.265 [http-nio-8082-exec-8] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 18:43:59.611 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_INVOICING-SERVICE/localhost:invoicing-service:8082 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 18:53:12.657 [main] INFO o.e.ReplicaInvoicingServiceApplication - Starting ReplicaInvoicingServiceApplication using Java 17 with PID 14952 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\replica-invoicing-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 18:53:12.664 [main] DEBUG o.e.ReplicaInvoicingServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 18:53:12.666 [main] INFO o.e.ReplicaInvoicingServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 18:53:26.776 [main] INFO o.e.ReplicaInvoicingServiceApplication - Started ReplicaInvoicingServiceApplication in 16.936 seconds (process running for 18.362)
2024-05-02 18:58:25.989 [http-nio-8082-exec-1] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:00:30.615 [http-nio-8082-exec-3] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:06:30.228 [http-nio-8082-exec-5] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:09:20.628 [http-nio-8082-exec-8] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:16:57.851 [http-nio-8082-exec-1] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 19:21:56.636 [http-nio-8082-exec-3] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 19:22:26.064 [http-nio-8082-exec-5] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:26.088 [http-nio-8082-exec-4] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:27.806 [http-nio-8082-exec-6] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:30.737 [http-nio-8082-exec-8] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:22:38.178 [http-nio-8082-exec-7] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:23:18.772 [http-nio-8082-exec-10] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 19:23:18.858 [http-nio-8082-exec-9] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
......@@ -283,3 +283,138 @@ org.springframework.web.client.HttpServerErrorException$InternalServerError: 500
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 15:25:31.393 [main] INFO org.example.UsersServiceApplication - Starting UsersServiceApplication using Java 17 with PID 5480 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\users-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:25:31.401 [main] DEBUG org.example.UsersServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:25:31.403 [main] INFO org.example.UsersServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:25:44.008 [main] INFO org.example.UsersServiceApplication - Started UsersServiceApplication in 16.539 seconds (process running for 18.555)
2024-05-02 15:35:38.065 [http-nio-8080-exec-1] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 15:54:21.885 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_USERS-SERVICE/localhost:users-service:8080 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 17:27:17.182 [main] INFO org.example.UsersServiceApplication - Starting UsersServiceApplication using Java 17 with PID 13616 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\users-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 17:27:17.189 [main] DEBUG org.example.UsersServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 17:27:17.191 [main] INFO org.example.UsersServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 17:27:29.783 [main] INFO org.example.UsersServiceApplication - Started UsersServiceApplication in 15.315 seconds (process running for 16.959)
2024-05-02 17:28:16.463 [http-nio-8080-exec-1] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:28:40.923 [http-nio-8080-exec-2] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:29:15.910 [http-nio-8080-exec-3] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:30:13.745 [http-nio-8080-exec-4] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:37:38.162 [http-nio-8080-exec-6] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:42:27.660 [http-nio-8080-exec-5] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:59:24.181 [http-nio-8080-exec-7] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 17:59:36.245 [http-nio-8080-exec-8] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:02:13.581 [http-nio-8080-exec-9] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:02:17.230 [http-nio-8080-exec-10] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:03:43.251 [http-nio-8080-exec-1] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:10:52.294 [http-nio-8080-exec-2] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:44:00.556 [DiscoveryClient-HeartbeatExecutor-0] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_USERS-SERVICE/localhost:users-service:8080 - was unable to send heartbeat!
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89)
at com.netflix.discovery.DiscoveryClient.renew(DiscoveryClient.java:837)
at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1401)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 18:44:02.171 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_USERS-SERVICE/localhost:users-service:8080 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 18:53:28.774 [main] INFO org.example.UsersServiceApplication - Starting UsersServiceApplication using Java 17 with PID 2236 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\users-service\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 18:53:28.783 [main] DEBUG org.example.UsersServiceApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 18:53:28.788 [main] INFO org.example.UsersServiceApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 18:53:41.182 [main] INFO org.example.UsersServiceApplication - Started UsersServiceApplication in 14.985 seconds (process running for 16.883)
2024-05-02 18:55:04.794 [http-nio-8080-exec-1] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:56:15.591 [http-nio-8080-exec-2] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:58:18.283 [http-nio-8080-exec-3] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 18:58:26.046 [http-nio-8080-exec-5] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:00:30.688 [http-nio-8080-exec-7] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:00:35.645 [http-nio-8080-exec-8] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:06:21.650 [http-nio-8080-exec-9] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:06:30.260 [http-nio-8080-exec-10] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:09:11.242 [http-nio-8080-exec-1] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:09:20.653 [http-nio-8080-exec-2] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:12:06.547 [http-nio-8080-exec-4] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:14:04.555 [http-nio-8080-exec-3] INFO org.example.resources.UserResource - paid invoice with 2 invoiceId for user has 1 userId
2024-05-02 19:16:57.941 [http-nio-8080-exec-5] INFO org.example.resources.UserResource - paid invoice with 2 invoiceId for user has 1 userId
2024-05-02 19:21:56.646 [http-nio-8080-exec-6] INFO org.example.resources.UserResource - paid invoice with 2 invoiceId for user has 1 userId
2024-05-02 19:22:21.414 [http-nio-8080-exec-9] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:24.908 [http-nio-8080-exec-4] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:26.101 [http-nio-8080-exec-10] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:26.320 [http-nio-8080-exec-8] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:26.320 [http-nio-8080-exec-7] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:27.822 [http-nio-8080-exec-2] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:28.335 [http-nio-8080-exec-1] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:30.759 [http-nio-8080-exec-3] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:36.835 [http-nio-8080-exec-5] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:38.197 [http-nio-8080-exec-6] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:22:40.693 [http-nio-8080-exec-9] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:23:16.374 [http-nio-8080-exec-10] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:23:18.786 [http-nio-8080-exec-7] INFO org.example.resources.UserResource - Got all users have unPaid invoices
2024-05-02 19:23:18.874 [http-nio-8080-exec-4] INFO org.example.resources.UserResource - Got all users have unPaid invoices
......@@ -315,3 +315,42 @@ com.netflix.discovery.shared.transport.TransportException: Cannot execute reques
2024-04-28 13:30:17.516 [main] INFO o.e.InvoicingServiceZone2Application - Started InvoicingServiceZone2Application in 15.323 seconds (process running for 16.87)
2024-04-28 13:33:38.275 [http-nio-8085-exec-1] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-04-28 13:44:59.320 [http-nio-8085-exec-4] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 15:24:46.616 [main] INFO o.e.InvoicingServiceZone2Application - Starting InvoicingServiceZone2Application using Java 17 with PID 11344 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\invoicing-service-zone-2\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:24:46.637 [main] DEBUG o.e.InvoicingServiceZone2Application - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:24:46.640 [main] INFO o.e.InvoicingServiceZone2Application - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:25:02.126 [main] INFO o.e.InvoicingServiceZone2Application - Started InvoicingServiceZone2Application in 18.986 seconds (process running for 21.584)
2024-05-02 15:33:56.259 [http-nio-8085-exec-3] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 15:54:21.495 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_INVOICING-SERVICE/localhost:invoicing-service:8085 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
......@@ -353,3 +353,43 @@ java.lang.StringIndexOutOfBoundsException: begin -1, end 0, length 58
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-05-02 15:25:17.249 [main] INFO o.e.ReplicaInvoicingServiceZone2Application - Starting ReplicaInvoicingServiceZone2Application using Java 17 with PID 13724 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\replica-invoicing-service-zone-2\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:25:17.256 [main] DEBUG o.e.ReplicaInvoicingServiceZone2Application - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:25:17.259 [main] INFO o.e.ReplicaInvoicingServiceZone2Application - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:25:31.687 [main] INFO o.e.ReplicaInvoicingServiceZone2Application - Started ReplicaInvoicingServiceZone2Application in 17.332 seconds (process running for 19.63)
2024-05-02 15:31:48.263 [http-nio-8084-exec-2] INFO o.example.resources.InvoiceResource - mark the invoice which has 2 invoiceId status as true (paid)
2024-05-02 15:35:37.949 [http-nio-8084-exec-3] INFO o.example.resources.InvoiceResource - Got all unpaid invoices
2024-05-02 15:54:18.614 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_INVOICING-SERVICE/localhost:invoicing-service:8084 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
......@@ -503,3 +503,43 @@ org.springframework.web.client.HttpServerErrorException$InternalServerError: 500
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
2024-04-28 13:47:00.036 [http-nio-8083-exec-10] INFO org.example.resources.UserResource - paid invoice with 2 invoiceId for user has 1 userId
2024-05-02 15:25:45.348 [main] INFO o.e.UsersServiceZone2Application - Starting UsersServiceZone2Application using Java 17 with PID 9848 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\users-service-zone-2\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:25:45.357 [main] DEBUG o.e.UsersServiceZone2Application - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:25:45.418 [main] INFO o.e.UsersServiceZone2Application - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:25:56.764 [main] INFO o.e.UsersServiceZone2Application - Started UsersServiceZone2Application in 14.056 seconds (process running for 16.931)
2024-05-02 15:31:48.344 [http-nio-8083-exec-1] INFO org.example.resources.UserResource - paid invoice with 2 invoiceId for user has 1 userId
2024-05-02 15:33:56.275 [http-nio-8083-exec-3] INFO org.example.resources.UserResource - paid invoice with 2 invoiceId for user has 1 userId
2024-05-02 15:54:22.498 [SpringApplicationShutdownHook] ERROR c.netflix.discovery.DiscoveryClient - DiscoveryClient_USERS-SERVICE/localhost:users-service:8083 - de-registration failedCannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$2.execute(EurekaHttpClientDecorator.java:74)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.cancel(EurekaHttpClientDecorator.java:71)
at com.netflix.discovery.DiscoveryClient.unregister(DiscoveryClient.java:916)
at com.netflix.discovery.DiscoveryClient.shutdown(DiscoveryClient.java:892)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:424)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:382)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:212)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:191)
at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:184)
at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.destroy(GenericScope.java:389)
at org.springframework.cloud.context.scope.GenericScope.destroy(GenericScope.java:136)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1082)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:173)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1001)
at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:139)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:108)
at java.base/java.lang.Thread.run(Thread.java:833)
......@@ -12052,3 +12052,15 @@ java.lang.IllegalStateException: Client instance has been closed.
2024-04-28 13:28:57.060 [main] DEBUG o.e.ServiceDiscoveryApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-04-28 13:28:57.063 [main] INFO o.e.ServiceDiscoveryApplication - No active profile set, falling back to 1 default profile: "default"
2024-04-28 13:29:17.388 [main] INFO o.e.ServiceDiscoveryApplication - Started ServiceDiscoveryApplication in 23.264 seconds (process running for 25.945)
2024-05-02 15:23:32.168 [main] INFO o.e.ServiceDiscoveryApplication - Starting ServiceDiscoveryApplication using Java 17 with PID 10488 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\service-discovery\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 15:23:32.176 [main] DEBUG o.e.ServiceDiscoveryApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 15:23:32.179 [main] INFO o.e.ServiceDiscoveryApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 15:23:50.520 [main] INFO o.e.ServiceDiscoveryApplication - Started ServiceDiscoveryApplication in 20.994 seconds (process running for 23.389)
2024-05-02 17:26:05.631 [main] INFO o.e.ServiceDiscoveryApplication - Starting ServiceDiscoveryApplication using Java 17 with PID 16264 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\service-discovery\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 17:26:05.643 [main] DEBUG o.e.ServiceDiscoveryApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 17:26:05.645 [main] INFO o.e.ServiceDiscoveryApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 17:26:22.862 [main] INFO o.e.ServiceDiscoveryApplication - Started ServiceDiscoveryApplication in 20.672 seconds (process running for 23.109)
2024-05-02 18:51:46.934 [main] INFO o.e.ServiceDiscoveryApplication - Starting ServiceDiscoveryApplication using Java 17 with PID 16232 (D:\Second Semester\Advanced DS\Practical\New folder\micro-services\service-discovery\target\classes started by dell in D:\Second Semester\Advanced DS\Practical\New folder\micro-services)
2024-05-02 18:51:46.940 [main] DEBUG o.e.ServiceDiscoveryApplication - Running with Spring Boot v3.0.1, Spring v6.0.3
2024-05-02 18:51:46.946 [main] INFO o.e.ServiceDiscoveryApplication - No active profile set, falling back to 1 default profile: "default"
2024-05-02 18:52:00.514 [main] INFO o.e.ServiceDiscoveryApplication - Started ServiceDiscoveryApplication in 16.17 seconds (process running for 17.726)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment