問題タブ [method-interception]
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.
java - プロパティ名を取得するメソッドのインターセプト
タイプ セーフな方法でプロパティの名前を指定できるユーティリティ クラスまたはライブラリを探しています。次のようなものを念頭に置いています。
このような便利なメソッドを適切に実装するには、IMHO quiet に多くの作業が必要です。最終クラスなどの処理は非常に複雑になる可能性があるため (mockito、easymock などを参照)。
java - ベンチマーク測定のためのメソッド インターセプトのフレームワーク
そのようなフレームワークを急いで書く前に、誰かがそのようなフレームワークに遭遇したか、開発したかどうかを知りたいです。
私たちのプロジェクトは、パフォーマンスの向上に重点が置かれるポイントに到達しました。私は、Spring リポジトリを使用するサービスに委任するコントローラーがある Spring RESTful マイクロサービスの所有者です。非常に標準的で、特別なことは何もありません。
これが私ができるようにしたいことです。測定するメソッドに注釈を付けたくありません。また、チェックしたいメソッドの最初と最後に明示的なタイマー呼び出しを追加したくありません。ログ出力と同じように、コードは十分に「汚い」です。
私ができるようにしたいのは、外部構成ファイルで測定するメソッドをリストし、春の助けを借りてそれらを傍受して測定することです。ベンチマークは、本番/評価環境でさまざまな方法で収集されます。後で、各メソッドのさまざまな結果を視覚化する UI が必要です。この UI では、異常、つまり呼び出しに最も時間がかかった時間、または最も時間がかかった時間を見つけることができました。そこから、サービス レイヤーにドリルダウンして、サービスの弱点を見つけ、そこから、リポジトリによって呼び出されたパフォーマンスの低いクエリにたどり着くことができました。
指定されたツールがない場合 (利用可能なツールが少なくとも 100 あるとは信じられません)、私の計画は、Spring AOP または AspectJ を使用して、リストしたメソッドをインターセプトすることです。インターセプトごとに、呼び出しベンチマークのログ プリントを配置します。後で、Kibana を利用して各メソッドの弱点を見つけ、ドリルダウンします。
アスペクトがどのように行われるかの実装の詳細と、その目標のためにキバナを使用してデータの視覚化を正確に設定する方法を学ぶ必要があります。
誰かが光を遮ることができる場合-私のニーズに適したフレームワーク、または私の目標を支援するための経験またはコードを提供するか、これらのテストを実行するための代替または別の方法を提供する場合は、感謝の気持ちでそれについて聞きたいです! ありがとうございます!
c# - Code Cop アプリがハングする
メソッド インターセプト アプローチである Code Cop を使用して、テスト アプリケーションを作成しました。
しかし、最初のアプリケーションを実行するとすぐに問題が発生し、アプリケーションが起動してハングし、何が起こっているのかについての情報がありませんでした。
私はコードに正確に従ったので、別のマシンで同じコードを実行できました。
エラー情報は出力されず、ハングするだけです。
この問題を解決またはデバッグする方法を知っている人はいますか?
javascript - Rhino メソッド シャッター/インターセプター
JavaScript (Rhino/Java) からすべての Java オブジェクト (Java メソッド) へのすべてのメソッド呼び出しをインターセプトする方法を探しています。
したい:
- それらを数えます(メソッド名と引数で)
- メソッドが許可されていない場合に例外をスローできるようにする
Rhino-Engine 内でこれを行う方法はありますか?
Aspect-Oriented-Programming-Libraries のような他のオプションがあることは知っていますが、それらは避けたいと思います。
また、Rhino エンジンの実装を置き換えようとしましたNativeJavaMethod
が、システムに非常に深く結びついており、置き換えることはできません。
それらのためのファクトリ (ContextFactory のような) だけがあれば、それは素晴らしいことです。
または、 のようなメソッド呼び出しインターセプターですContextFactory.doTopCall(...)
が、すべての JS-2-Java 呼び出し用です。