@Override public Response toResponse(CannotCreateTransactionException exception) { log.error("Cannot create transaction", exception); String errorMsg; if(exception.getCause() instanceof SQLException) { errorMsg = "database error " + ((SQLException) exception.getCause()).getSQLState() + ": " + exception.getMessage(); } else { errorMsg = "database error: " + exception.getMessage(); } return Response.status(Response.Status.SERVICE_UNAVAILABLE).entity(errorMsg).type("text/plain").build(); }