検索

ホームページ  >  に質問  >  本文

Spring Boot 実行中に部分的な Http リクエスト URL を使用してデータベースを変更する

新しい HTTP リクエストが発生するたびに、現在使用されているデータベース (名前が HTTP URL リクエストの一部になっている) を変更する必要があります。 次のコードを使用しようとしていますが、サービスを呼び出して実行すると、前のサービスが完了するかクラッシュするまで、再度呼び出すことができません。 問題は「データベースが選択されていません」であることに気付きましたが、クラッシュせずにデータベースを変更する方法がわかりません:( まだデータベースとテーブルを持っていない場合は、コードを通じてデータベースとテーブルを自動的に作成する必要があるため、私は Flyway を使用します。

リクエストされた URL 経由でユーザーから渡された名前を使用する必要があります URL パターンは次のとおりです。 .../api/v1/{db_name}/... 私は jdbcTemplate を使用していますが、JPA ソリューションは歓迎です :)

リーリー

2 つの異なるクライアントからリンクを 2 回呼び出すと例外が発生します:

ああああ

P粉663883862P粉663883862231日前416

全員に返信(1)返信します

  • P粉545682500

    P粉5456825002024-04-01 09:11:37

    基本的に HTTP/s 呼び出しを介してデータベースの秘密を提供しているため、あなたのユースケースは非常に危険だと思います。その他の不便な点は次のとおりです。

    1. リクエストごとにデータベースをロードすると、アプリケーションの応答時間が大幅に増加します

    2. スケーラビリティとリソース消費の問題につながります。

    代わりに、一般的には、起動直後にデータベース接続を開始し、プログラムのライフサイクルの残りの間はデータベース接続を開いたままにするように Spring Boot アプリケーションを設定することをお勧めします。この戦略により、スケーラビリティが向上し、データベース アクセスが高速化されます。

    同じアプリケーションに対して複数のデータベースを構成する必要がある場合は、複数のデータ ソースを手動で定義できます。リクエストごとに、クエリするデータベースを選択できます

    返事
    0
  • キャンセル返事