Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODKBEKBJ-255

...

The status enum includes the following values :

Status NameDescription ShemaExample
Not Started

...

before the first start of loading holdings


Code Block
{
  "status": {
    "name": "Not Started",
  },
  "jsonapi": {
    "version": "1.0"
  }
}


Started

...




Code Block
{
  "status": {
    "name": "Started",
  },
  "attributes": {
    "started": "1999-12-31 14:59:59"
  },
  "jsonapi": {
    "version": "1.0"
  }
}


In Progressthe loading is in progress


Code Block
{
  "status": {
    "name": "In Progress",
    "detail" : "Populated to holdings"
  },
  "attributes": {
    "started": "1999-12-31 14:59:59"
  },
  "jsonapi": {
    "version": "1.0"
  }
}


Code Block
{
  "status": {
    "name": "In Progress",
    "detail" : "Loading holdings"
  },
  "attributes": {
    "started": "1999-12-31 14:59:59",
    "totalCount": 1234
  },
  "jsonapi": {
    "version": "1.0"
  }
}


Completedloading is finished and holdings saved in a database


Code Block
{
  "status": {
    "name": "Completed"
  },
  "attributes": {
    "started": "1999-12-31 14:59:59",
    "finished": "1999-12-31 16:30:47",
    "totalCount": 1234
  },
  "jsonapi": {
    "version": "1.0"
  }
}


Failed

...

some request failed

...

and saved as a class variable. 

If the request returns an error from the RM API, it should be returned to the user???

...



Code Block
{
  "status": {
    "name": "Failed"
  }
  "errors": [{
    "title": "Invalid APIKEY",
    "detail": "Kb api credentials are invalid"
  }],
  "jsonapi": {
    "version": "1.0"
  }
}



Info

2. Add retry mechanism in case something fails - at least 3 retries

For the implementation of the retry mechanism, we can use the Circuit Breaker pattern existing for Vert.x -  https://vertx.io/docs/vertx-circuit-breaker/java/

...