問題タブ [micronaut-data]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - Kotlin、Micronaut、および Hibernate のカスタム Bean バリデーターが呼び出されることはありません
私は職場のプロジェクトで gRPC を使用して Micronaut と Kotlin を研究していますが、答えが見つからないように見えるいくつかの問題に遭遇しました。
Kotlin を使用して、Micronaut でいくつかの個人的な Spring プロジェクトを再現しています。これらのプロジェクトでは、パラメーターが重複しているかどうかを検証するカスタム Bean バリデーター アノテーションを作成します。Kotlinで再作成しましたが、呼び出されることはありません。コードもデバッグしましたが、バリデーターのブレークポイントで停止することはありません。
これが、検証したい Entity クラスです。@UniqueEmail アノテーションに注意してください。これは私のカスタム バリデータです。
バリデータ アノテーション クラスは次のとおりです。
そして、ここにバリデータ自体があります。ここでの全体的な問題は、Micronaut がここでこのメソッドを呼び出さず、値が検証されないことです。@NotNull や @Email など、他の Bean アノテーションはうまく機能していますが、これは機能していません。
これは StackOverflow での最初の質問です。Micronaut はかなり新しいフレームワークであり、多くの人が kotlin で Spring/Micronaut を使用していないため、エラーやこのような特定の問題に対する解決策を見つけるのは非常に困難です。
助けてくれてありがとう。ありがとう。
編集:ここに私の依存関係があります:
jdbc - jdbc 接続プールの固定量を制限する
こんにちは、さまざまな jdbc 接続プールと一緒に micronaut データを使用しています。私は最初にヒカリを食べ、トムキャットも試しました。
maximum-pool-size: 10
データソースを に設定すると、最大 10 個の接続が開かれると想定していました。しかし、開閉が多いようです。同時に多数のリクエストを処理すると、10 接続よりもはるかに多くの接続が使用されます。問題は、azure postgresql では合計で 100 接続しか許可されないことです。
現在、そのデータベースにアクセスする 7 つのアプリを実行しています。これにより、合計で最大 70 の接続が得られると予想されます。しかし、実際にはそれ以上です。
Tomcat jdbc プールも使用してみましたが、動作が少し異なります。しかし、10 を超える接続も使用します。また、Java プロファイラーを使用して確認したところ、1 秒あたり最大 100 のオープン/クローズ接続イベントが発生する場合があることがわかりました。
2 番目のデータベースを使用する場合を除いて、その場合にどのように行動するかについての提案。プールが呼び出しをバッファリングすることを期待していました。特に、呼び出しがカフカ トピックからのものであるためです。でも、どうやら違うようです。
--- 編集 ひかりログ追加
これがhikariのログ出力です