Skip to content
This repository was archived by the owner on Dec 5, 2022. It is now read-only.
This repository was archived by the owner on Dec 5, 2022. It is now read-only.

Database exception middleware pattern #122

@sbgreene1307

Description

@sbgreene1307

The current setup for db commands seems tightly coupled to the HystrixBadRequestException.

This forces me to write an ignore-function that will propagate exceptions I care about and then an exception-wrapper function to process database errors. For example, if an insert fails on a table with a duplicate key error, then I propagate this by matching the message pattern, setting the HystrixBadRequestException message to something useful for me, and finally catching this exception in my wrapping function just to get the message. This requires new developers to know to use the wrap-sql-exception function.

As an alternative, friboo.system/db.clj, could implement the middleware pattern as explained in this article.

This would allow me to write wrapper functions for the exceptions as I see fit and other devs won't need to worry about remembering to wrap their sql cmds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions