Spring Boot 実行中に部分的な Http リクエスト URL を使用してデータベースを変更する
P粉663883862
P粉663883862 2024-03-31 12:55:54
0
1
414

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

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

リーリー

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

ああああ

P粉663883862
P粉663883862

全員に返信(1)
P粉545682500

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

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

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

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート