私はSpringアプリケーションを開発していますが、フレームワークの中にXMLのようなものを設定するなど、よりエレガントな方法でこれをやってくれるのだろうかと疑問に思っていましたか?SpringのThread.setDefaultUncaughtExceptionHandler
答えて
あなたの質問の目的は、アプリケーションコンテキストからカスタムUncaughtExceptionHandler
を設定している場合は、あなたが使用することができます。
<bean id="myhandler" class="java.lang.ThreadGroup">
<constructor-arg value="Test"/>
</bean>
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="java.lang.Thread"/>
<property name="targetMethod" value="setDefaultUncaughtExceptionHandler"/>
<property name="arguments">
<list>
<ref bean="myhandler" />
</list>
</property>
</bean>
(NBは選択肢のThread.UncaughtExceptionHandler
ではmyHandlerを交換...)
これは「よりエレガントな方法」ですか?これはJavaで行うよりもどのように優れていますか? – skaffman
コンテキストなし私はそれがエレガントかどうかについての意見は本当にありませんでしたが、これを行う理由を、起動時にキャッチされない例外ハンドラを設定するために別個のJavaクラスを作成するのに対して見ることができます。 – beny23
私はこれがよりエレガントだと思います。なぜなら、ハンドラの設定は、スプリングが制御オフになっているはずのアプリケーション設定の一部なのです。 – mogronalol
あなたは未知の例外処理のために注釈付きクラスを@ControllerAdvice
で使用することもできます。 https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvcから参照すると、次のコードで例外が発生します。
@ControllerAdvice
public class MyUncaughtExceptionHandler {
@ExceptionHandler(value = Exception.class)
public void defaultExceptionHandler(Exception e) {
// do whatever you want with the exception
}
}
- 1. JavaのThread.setDefaultUncaughtExceptionHandler()に相当するC#?
- 2. Spring、Spring SecurityとSpring Webflowの互換性
- 3. AngularJSでのSpringブート+ Springセキュリティログイン
- 4. bigdata用のSpring-XD springアプリケーション
- 5. Spring + Hibernate + Spring
- 6. KarafのSpring-DM&Spring 3からBlueprint&Spring 4への移行
- 7. SpringのClassNotFoundException SpringのJUnitテストのJavaMailSenderImpl
- 8. Spring Boot + Spring Security + Spring OAuth2 + Googleログイン
- 9. Springブート1.2.8 Springクラウド
- 10. Springブート、Spring OAuth2、REST
- 11. Springバッチ+ Spring API REST
- 12. Spring Security + Spring Remoting + Swing
- 13. Springのコア3.2.2 + Springのセキュリティ3.1.4:java.lang.IncompatibleClassChangeError:org.springframework.asm.ClassVisitor
- 14. Spring MVCのプロジェクトで、別のSpring Bean
- 15. Spring以外のコンポーネントのSpring AOP
- 16. 非SpringプロジェクトのSpringプロジェクトに応じて、
- 17. Spring統合とSpring MVCの統合
- 18. Spring 2からSpring 3への変更
- 19. Spring MVCとSpring Coreの違い
- 20. spring-amqpとspring-cloud-sleuthの統合
- 21. Spring Web ServicesのSpringセキュリティフィルタと認証
- 22. Spring MVC(Spring Boot) - リクエストマッピングの継承
- 23. spring-cloud-sleuth(boot)とspring-integrationの統合
- 24. Alfrescoのspring surf vs classic spring mvc
- 25. Spring kafka 1.1.2とSpring framework 3.1.1の使用
- 26. Spring MVCからSpring Webflowへのディスパッチ
- 27. タスク用のSpring SchedulerまたはSpring Batch?
- 28. Spring ConfigによるSpringデータリポジトリのスキャン?
- 29. Spring Boot 2.0.0.M6でのSpringスケジューリング
- 30. JSONプロバイダの変更(Spring/Spring-Boot)
あなたが解決しようとしている実際の問題は何ですか? – skaffman
ごめんなさい。この場合、私はスタックトレースを私のlog4jファイルに書き込む未知の例外ハンドラを書いています。実装するのは簡単ですが、私は物事を行う "春の道"があるかどうか疑問に思っていました。 – mogronalol