問題タブ [spring-insight]
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 - インサイトを使用して tc サーバーにデプロイすると、Spring アプリケーションが NoClassDefFoundError で起動に失敗する
Jetty と「通常の」Tomcat 7 で正常に動作する Spring ベースのアプリ (WAR にパッケージ化) がありますが、Spring Insight を使用して tc サーバーにデプロイすると、奇妙な NoClassDefFoundError が生成されます。文句を言っているクラスが見つからないことは間違いなく、WEB-INF/lib
フォルダー内の JAR にあります (Tomcat 共有 lib フォルダーに競合する JAR が存在しないことを再確認しました)。
これは、Spring がクラスを見つけることができないと考えていることを示すスタック トレースHierarchicalLoop
です。
サーバー インスタンスで Insight を無効にすると、アプリは正常に読み込まれ、これは 3 台の異なるマシンで再現可能です。前述したように、WAR は Jetty と Tomcat (Insight なし) でも正しくロードされます。したがって、Insight の機能に絞り込まれていると確信しています。
私の経験では、この種の不思議なエラーNoClassDefFoundError
やClassNotFoundException
エラーは、多くの場合、クラス ローダーの取り違えが原因です。たとえば、コンテナーのルート クラスローダーがアプリケーション JAR からクラスをロードしようとしています。しかし、この場合、Insight は私にとってブラック ボックスであり、内部で何をしているのかわかりません。おそらく、Spring クラスはアプリケーションのクラスローダー以外のクラスローダーから来ているのではないかと思います。これは、Spring がアプリケーションのlib
. しかし、それは知識に基づいた憶測に過ぎず、たとえそれが正確であったとしても、それを解決する方法がわかりません.
インサイトの仕組みに関するトラブルシューティングや洞察のためのアイデアを歓迎します。
spring - メール通知・アラートの出し方
Spring-Insight と Pivotal tc サーバーを使用して 2 つの Spring アプリケーションをデプロイおよび監視していますが、しきい値違反の場合に備えていくつかのアラートを作成する必要があります。カスタマイズされたプラグインを作成せずにこの警告システムを作成できるかどうか知っていますか? ドキュメントには何も見つかりません。