問題タブ [mbeans]
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.
security - weblogicにデプロイされたmBeansクライアントでセキュリティ例外が発生しますか?
iamは、weblogicのmbeansのドキュメントに従い、サーバーにデプロイされた別のアプリケーションで実行されている作成済みのカスタムBeanにアクセスするためのWebアプリケーションを作成しようとしています。このコードを使用するiam
カスタムBeanにアクセスしようとすると、次の例外が発生します。
件名にアクセスは許可されていません:principals = []、ResourceType:Nameアクション:execute、Target:myMethod
何が問題なのか?
java - Spring JMX での @ManagedOperation の名前
以前org.springframework.jmx.export.annotation.@ManagedOperation
はメソッドを MBean として公開していました。
メソッド名とは異なるオペレーション名が欲しいのですが、マネージオペレーションには属性がありません。
例えば:
この操作を name = "ResetCache" で公開します。
java - MBeanバインディングクラスインスタンスを取得する方法
jboss-service.xml
MBeanを使用してバインドされたサービスクラスのインスタンスを取得しようとしています。
JBoss-Service.xml
BasicThreadPool
コードで使用するを定義しました。これはそれが何であるかですJBOSS-Service.xml
。
私は以下のように私のコードでこれにアクセスしようとしています、
これでMBean情報が得られました。BasicThreadPool
MBeanで定義されたオブジェクトのインスタンスが必要です。出来ますか ?
私は方法を知っています。MBean情報からクラス名を取得できます。また、インスタンスを構築するための属性を取得することもできます。それを行うためのより良い方法はありますか?
java - JBoss 4.x から JBoss 7 への MBean の移植
現在、一部のプロジェクトを JBoss 4.x から JBoss 7 に移植中です。これまでのところ、単純な管理操作を提供するために一般的に使用している MBean を除いて、すべてがうまく機能しているようです。
かなり長い間検索してきましたが、正しい検索用語を思いつくことができないか、JBoss 4.x と JBoss 7 の MBean 定義の間のギャップを埋めるための知識が不足しています。
したがって、誰かが私が見逃している可能性があるものや、どこで読む必要があるかについてのヒントを提供できることを願っています (おそらくいくつかのドキュメント、例など)。
Jboss 4.x では、MBean はしばしば次のようになります。
アノテーションを使用@Service
してオブジェクト名と xmbean 記述子を定義すると、JBoss はこれらの mbean を自動的に登録します。
どうやら、JBoss 7 では@Service
アノテーションが存在しないため、別のアプローチが必要です。
これまでのところ、MBean を手動でプラットフォーム mbean サーバーに登録することができましたが、JBoss に自動的に登録してもらいたいと考えています。さらに、これまでのところ、メソッド/パラメーターの説明を提供することができませんでした (これらは、あると便利な機能ですが)。
明確にするために、質問を繰り返します。
次の機能を提供する JBoss 7 (Java EE 6) で MBean を定義するにはどうすればよいですか?
- 自動展開
- EJB へのアクセス
- JConsole または JMX-Console からアクセス可能 (私は現在 Dimitris Andreadis のポートを使用しています)
- メソッド/パラメーターの説明を提供する
アップデート
これが私がこれまでに得たものです:
最初に、CDI を使用して任意の Bean のインジェクション ターゲットをラップし、それに応じてアノテーションが付けられ、postConstruct()
メソッドで JMX 登録を行うこのプロジェクションを見つけました: http://code.google.com/p/jmx-annotations/。さらに、検出された MBean は、注釈付きプロパティの説明を提供するクラス/属性/メソッド/パラメータ注釈についてスキャンされます。
ただし、postConstruct()
メソッドはEJBに対して呼び出されないようです(EJBコンテナと衝突しないためだと思います)。したがって、MBean は EJB ではなく、プレーンな CDI Bean にする必要があります。
ただし、MBean が自動的にインスタンス化されないという欠点があります。BeanManager
これを克服するために、起動時にすべての Bean をループし、見つかったすべての MBean のインスタンスを作成するシングルトン Bean があります。MBean にはまだ注入ターゲットがあるため、そのpostConstruct()
メソッドは呼び出されず、Bean は MBean サーバーに登録されます。
起動手順の大まかな概要は次のとおりです。
- カスタム CDI 拡張機能は、各 CDI Bean をスキャンしてカスタム @MBean アノテーションを探します。
- 適格な MBean ごとに、注入ターゲットがラップされます
- @PostConstruct メソッドで MBean のインスタンスを作成する singleton Bean が開始されます
- MBean のインジェクション ターゲットの
postConstruct()
メソッドが呼び出され、MBean が MBean サーバーに登録されます。
このメソッドの欠点の 1 つは、MBean メソッドを実行するときにトランザクション コンテキストが欠落することです (すべての EJB 呼び出しはトランザクション コンテキストで実行されます)。ただし、これは、必要に応じてトランザクション コンテキストを提供する CDI インターセプターを使用して修正できます。Seam プロジェクトには、そのための適切なインターセプターがあるようです。
これが健全で安定したアプローチであるかどうかはまだわからないので、建設的なコメント、ヒントなどは大歓迎です。
tomcat - 2 つの Tomcat 内から同じ JMX MBean サーバーにアクセスする方法
私はJMXとサーバーに少し慣れていません...マルチノード構成(基本的に2ノード)があり、両方のMBeanServerにMBeanを作成して登録しています。問題は、2 つの Tomcat サーバーで MBeanServer が異なることですが、1 つのグローバル JMX サーバーが必要なため、すべての MBean を一度に表示できます。
メイン ノードの場合、これらのオプションを JVM 設定に追加しました。
しかし、2 番目のノードに同じ設定を使用すると、ポートが既に使用されていることがわかります。これは通常のことです。そのような設定を使用しない場合、独自のサーバーが作成されます。ところで、私は MBeanServer 参照を取得してい ManagementFactory.getPlatformMBeanServer()
ます 最初に作成されたサーバーに接続する必要がある別の方法はありますか?
ありがとう、テオ
service - JNDIリソースに依存するJbossサービス
XAOracleDSという名前の他のJNDIリソースに依存し、xmlデータソースファイル(* -ds.xml)で定義されているJboss4MBeanを作成しました。しかし、JBossインスタンスを再起動すると、
javax.naming.NameNotFoundException:XAOracleDSがバインドされていません
私のサービスの実装のため。jboss-service.xmlファイルを更新してJBossネーミングサービスに依存関係を追加することでこれを修正しようとしました
、しかしそれはうまくいきませんでした。これが私のjboss-service.xmlです
誰かが何が悪いのか考えていますか?
java - MBean インターセプタを挿入
私は MBean を実装する Java プロジェクトで作業しており、レジストリの前に MBean をインターセプトしてプロパティを変更/追加する必要があります。例 :
domainName:name=myMBean --> domainName:name=myMBean1,type=myType
デフォルトのインターセプター以外のインターセプターを適用する方法を示すこのリンクを見つけましたが、コードでそれを行う方法がわかりません。
前もって感謝します。
java - JMX MBean の操作と属性をプログラムでチェックする方法は?
次の属性と操作を持つ MBean があるとします。
属性: 名前サイズ
オペレーション: getName() getSize()
属性と操作をプログラムでチェックする方法はありますか? 私は IBM WebSphere MBeans を扱ってきましたが、それらのドキュメントはあまり良くありません。
例えば、IBMs Infocenterにアクセスして、Network Deployment -> Reference -> Programming interfaces -> Mbean interfaces -> ThreadPool にナビゲートするとします。それらにはリストされた属性のみがあり、操作はありません。
WebSphere wsadmin ツールを使用して、実際に操作と属性を確認できます。すべての MBean でこれを行う方法があるかどうか知りたいです。
java - JBoss SAR と EAR/WAR パッケージの比較
EAR ではなく JBoss SAR としてデプロイすることを選択するのはいつですか?
これはより一般的な質問であり、各展開モデルの長所と短所、およびどのモデルがいつ適用されるかを説明するガイドラインを探しています。