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: ...@@ -15,26 +15,10 @@ spring:
cloud: cloud:
gateway: gateway:
routes: 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-latakia-zone
uri: lb://invoicing-service uri: lb://invoicing-service
predicates: predicates:
- Path=/invoices/** - Path=/invoices/**
- id: replica-invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-latakia-zone - id: users-service-latakia-zone
uri: lb://users-service uri: lb://users-service
predicates: predicates:
......
...@@ -15,26 +15,10 @@ spring: ...@@ -15,26 +15,10 @@ spring:
cloud: cloud:
gateway: gateway:
routes: 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-latakia-zone
uri: lb://invoicing-service uri: lb://invoicing-service
predicates: predicates:
- Path=/invoices/** - Path=/invoices/**
- id: replica-invoicing-service-latakia-zone
uri: lb://invoicing-service
predicates:
- Path=/invoices/**
- id: users-service-latakia-zone - id: users-service-latakia-zone
uri: lb://users-service uri: lb://users-service
predicates: predicates:
......
...@@ -37,6 +37,15 @@ ...@@ -37,6 +37,15 @@
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </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> </dependencies>
<dependencyManagement> <dependencyManagement>
<dependencies> <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: server:
port: 9090 port: 9090
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: false
preferSameZoneEureka: true
instance:
metadataMap:
zone: damascus
spring: spring:
application: application:
name: api-gateway name: api-gateway
cloud: cloud:
gateway: gateway:
routes: routes:
- id: invoicing-service-damascus-zone - id: invoicing-service
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 uri: lb://invoicing-service
predicates: predicates:
- Path=/invoices/** - Path=/invoices/**
- id: replica-invoicing-service-latakia-zone filters:
uri: lb://invoicing-service - name: CircuitBreaker
predicates: args:
- Path=/invoices/** name: invoicingCircuitBreaker
- id: users-service-latakia-zone fallbackUri: forward:/invoicing-fallback
- id: users-service
uri: lb://users-service uri: lb://users-service
predicates: predicates:
- Path=/users/** - 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: server:
port: 9090 port: 9090
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: false
preferSameZoneEureka: true
instance:
metadataMap:
zone: damascus
spring: spring:
application: application:
name: api-gateway name: api-gateway
cloud: cloud:
gateway: gateway:
routes: routes:
- id: invoicing-service-damascus-zone - id: invoicing-service
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 uri: lb://invoicing-service
predicates: predicates:
- Path=/invoices/** - Path=/invoices/**
- id: replica-invoicing-service-latakia-zone filters:
uri: lb://invoicing-service - name: CircuitBreaker
predicates: args:
- Path=/invoices/** name: invoicingCircuitBreaker
- id: users-service-latakia-zone fallbackUri: forward:/invoicing-fallback
- id: users-service
uri: lb://users-service uri: lb://users-service
predicates: predicates:
- Path=/users/** - 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 ...@@ -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.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: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-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 ...@@ -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 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833) 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-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 ...@@ -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.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833) 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 ...@@ -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: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: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-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 ...@@ -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.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833) 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 ...@@ -503,3 +503,43 @@ org.springframework.web.client.HttpServerErrorException$InternalServerError: 500
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833) 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-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. ...@@ -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.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: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-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