問題タブ [spring-aop]
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 - 春-宣言型トランザクション管理のロールバック中に情報を収集する方法
@Transactionalメソッド内でSQLやその他の例外をキャッチすることが安全で推奨されているかどうか、誰か教えてもらえますか?プログラムによるトランザクション管理を使用すると、例外をキャッチしてやりたいことが何でもできますが、ロールバックをトリガーするこれらの例外をキャッチしてトランザクションAOPシステムを壊さないかどうかはわかりません...宣言的な方法で行います。
AOPアドバイスの@Transactionalメソッドに個別の接続を使用して論理トランザクションを作成するプロキシがあると思います。そして、「キャッチしたい」という例外をキャッチして、トランザクションをロールバックする必要があります。
java - Spring AOP で Web セッションを取得する方法
Spring AspectJ の使用について質問があります。ユーザーが何かを行ったときに監査ログを作成し、Web セッションからユーザー情報を取得して監査ログを作成したいと考えています。誰でもこれを行う方法の例を提供できますか?
java - spring 3.0 aopポイントカットが整形式ではありません:「名前パターン」エラーが予想されます
以下は私のポイントカットとアドバイスの宣言です
次のエラーが発生します
これで立ち往生している、任意のポインタ
java - アドバイスとしての HibernateInterceptor の自動配線
HibernateInterceptor をアドバイスとして使用しようとしており、自動配線しようとしています。
コードは次のとおりです。
以下は私のXMLマッピングです。
hibernateInterceptop をチェックすると、取得するのは NULL だけです :(...休止状態のインターセプターを自動配線できない理由がわかりません
何か案は?御時間ありがとうございます。
乾杯、J
java - Springaopトランザクションがトランザクションをコミットしていません
Apache Tomcat6.0.29でSpring3.0.3、MyBatis 3.0.2、mybatis-spring1.0.0を使用しています。
トランザクション管理には、春の宣言型トランザクションを使用しました。問題は、トランザクションが機能していないことです。トランザクションは1回だけ機能し、その後は何も機能しません。
私はすべての設定をチェックしようとしましたが、手がかりはありません。ポインタはありますか?
私の構成は次のようになります-
コメント後に編集-------------
サーバーを起動してトランザクション機能を実行しますが、機能する場合と機能しない場合があります。時々それは5-6回働き続け、そして突然それは止まります。
TXマネージャーとDS構成-
java - Spring AOP (AspectJ スタイル) でメソッド属性にアクセスするにはどうすればよいですか?
注釈をポイント カットとして使用して、いくつかのメソッドとその属性をインターセプトする必要がありますが、これらのメソッド属性にアクセスするにはどうすればよいでしょうか。メソッドが実行される前にコードを正常に実行できる次のコードがありますが、これらの属性にアクセスする方法がわかりません。
aop - スキャンするクラスが多すぎて、メソッドキャッシュがメモリをいっぱいにする側面
私たちのアプリケーションには、いくつか(実際には多く、約30)のWebサービスがあります。各Webサービスは独自のWARファイルに常駐し、アプリケーションの起動時に初期化される独自のSpringコンテキストを持っています。
また、Webサービスクラスに適用するアノテーション駆動型のアスペクトクラスもいくつかあります。最初のpoincut式は次のようになりました。
また、AOPは、構成への入力を通じてサービスで有効になりました。
しかし、Webサービスの数が増えるとOutOfMemoryException
、サーバーでsを経験し始めました。いくつかのプロファイリングと分析を行った後、AspectJExpressionPointcutクラスのインスタンスによって保持されているキャッシュによってメモリが使用されているように見えました。
各インスタンスのキャッシュは約5MBでした。また、3つの側面と30のサービスがあるため、合計で450MBのデータを保持する90のインスタンスが生成されました。
キャッシュの内容を調べたところ、my.package.service.businessパッケージの一部ではないクラスも含め、WARに存在するすべてのクラスのJavaリフレクションメソッドインスタンスが含まれていることがわかりました。ポイントカット式を変更して、追加のwithin
句を追加した後:
メモリ使用量は再び通常に低下しました。そして、すべてのAspectJExpressionPointcutインスタンスは、全体で1MB未満しかかかりませんでした。
誰かがそれがなぜであるか説明できますか?そして、なぜ最初のポイントカット式では不十分なのですか?のキャッシュがAspectJExpressionPointcut
共有されないのはなぜですか?
java - Spring AOP が Tomcat および tcserver で機能しない
単体テストまたはスタンドアロン アプリケーションから実行すると正常に動作する側面があります。ただし、Web アプリケーションの一部として実行し、Tomcat でホストすると、アスペクトは適用されません。
私の側面は次のように見えます
spring - tomcatでロード時間ウィービングが有効になっている場合、spring tx:annotation-drivenはモードを無視します
アノテーションを使用してトランザクションを構成しようとしています。ロードタイムウィービングが有効になっている環境(たとえば、ウィービングクラスローダーを使用したtcサーバーまたはtomcat)で実行している場合、トランザクションインターセプトはaspectjによって処理されているようですが、完全に構成されていないため、機能しません(Iメッセージを取得します"Skipping transactional joinpoint [<method name>] because no transaction manager has been configured"
)。
私の設定は述べてい<tx:annotation-driven mode="proxy" transaction-manager="transactionManager" />
ます。とにかくこれらはすべてデフォルトであるはずですが、私は明示的にプロキシモードを指定し、aspectjモードを取得しています。モードaspectjに切り替えると機能しますが、本番環境ではLTWが有効になっていないため、どこでもモードプロキシを使用したいと思います。
何が起こっているのか分かりますか?私はSpring3.0.5を使用しており、を使用していHibernateTransactionManager
ます。
java - Spring Java 構成コンテキストのトランザクション構成
私はこれに数時間苦労しています。
Spring XML 構成を完全な Java ベースの構成に移行しようとしています。
AnnotationConfigApplicationContext
コンテキスト実装として使用しています。
古い XML 構成から、この行に相当する Java を見つけるのに苦労しています。
その結果、Spring はトランザクションを管理しません。
私の Java 構成では、トランザクションに関連する Bean (セッション ファクトリ、トランザクション マネージャーなど) を初期化しましたが、その行がないと、トランザクション プロキシが使用されないため、実際にはトランザクションは行われません。
したがって、私の質問は、その行を Java コンテキスト構成にどのように変換するか、または別の方法で問題を解決する方法です。
どんな助けでも大歓迎です。ありがとう。