Spring Boot コンソール アプリケーションがあり、JMX 経由でアクチュエータ エンドポイントにアクセスします。問題は、返されたテキストがきれいに印刷されておらず、JSON ではないことです。次のようになります。
{context=application, parent=null, beans=[{bean=helloWorldApplication, scope=singleton, type=com.surpreso.spring_skeleton.HelloWorldApplication, resource=null, dependencies=[helloWorldService]}, {bean=helloWorldService, scope=singleton, type=com.surpreso.spring_skeleton.HelloWorldService, resource=file [C:/src-tmp/spring-skeleton/target/classes/com/surpreso/spring_skeleton/HelloWorldService.class], dependencies=[]}, {bean=com.surpreso.spring_skeleton.DefaultConfig, ...
これを読み取り可能な形式にする最良の方法は何ですか? JMX アクチュエーターをプリティプリントに設定することは可能ですか? JSON を使用するように JMX アクチュエーターを構成することは可能ですか?
Spring Boot Actuator endpoints の Pretty print JSON outputに関する関連する質問がありますが、この場合、Web アプリケーションがないため、JMX に行き詰まっています。次のステップとして、CRaSH を試してみますが、JMX アクチュエーターをより使いやすいように構成できるかどうか興味がありました。
Spring Boot のバージョン 1.2.5 を使用しています。
UPDATE : CRaSH 実装は同じ形式を使用するため、解決策ではありません。
更新 2 : 1.3.0 で、「すべての EndpointMBean で利用可能な場合は、構成済みの ObjectMapper を使用する」というコミットが見られますが、プリティ プリント用に設定するプロパティがわかりません。近いです...
UPDATE 3 : spring.jackson.serialization.indent_output=true
CRaSH インターフェースを介した効果はありませんでした。私は今 1.3.0.M2 を使用しています。