.Netアプリケーションを他の誰かのJMXエージェントに接続する必要があります。私はこれが単に行われたことではないことを読みました、そして私は石鹸か他のものを使うべきです。これは起こらないので、私を助けることができるライブラリや相互運用技術はありますか?私は、リモート操作を呼び出したり、文字列の結果を返したりするような単純なことにのみ興味があります。
4 に答える
.NET は、JMX と対話するために使用するテクノロジではありません。JMX は Java の一部である組み込み標準ですが、Java での実行にかなり特化しています。他の誰かの JMX エージェントを使用しようとしていることを示しているため、消費しようとしているアプリケーションを制御できないと思います。
その場合、アプリケーションまたはその一部を Java で作成することを検討してください。これが、JMX にアクセスする最良の方法です。それがオプションでない場合は、検討できることがいくつかあります。
1) 接続先のアプリケーションがデータを JMX 以外のものとして公開できるかどうかを確認します。通常、同じデータへの Web サービス経由のアクセスを許可することは難しくありません。
2) JMX サーバーと通信し、Web サービスを公開する小さな Java ラッパーを作成します。これにより、JMX を介して Web サービスにクエリを実行できます。
3) JMX がさまざまなテクノロジと通信できるようにする必要がある他のエージェントがあります。SNMP エージェントのようなものを使用して、.NET から SNMP トラップを使用できます。詳細については、http: //java.sun.com/javase/6/docs/technotes/guides/management/snmp.htmlを参照してください。
Java Management Extensions (JMX) エージェント用のWeb サービス コネクタと参照実装のws-jmx-connectorが私の選択です。JSR 262 は、クロスプラットフォーム/クロス言語のエンタープライズ統合プロジェクトに新たな機会を提供しますが、残念ながら開発は減速しています。
コールバック/通知を含むIIRCのJMX管理インターフェースのすべての操作を呼び出すために、いくつかのSOAP呼び出しのみが必要です。
HtmlAdaptorServer を起動すると、URL を使用して、標準の HTTP 呼び出しを使用して JMX メソッドを呼び出すことができます。
システム管理タスクの一環として、過去に Perl からこれを行ったことがあります。JMX インターフェースが頻繁に変更されている場合、これは見栄えが悪く、保守が困難です。しかし.. 手早く汚いハックが必要な場合は、これで終わりです!
これはIKVMで実行できます。これは Java Byte Code to .Net CLR コンパイラであり、JMX で問題なく動作します。