Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

第17章 例: アラート後のリモート JNDI ルックアップ(JBoss EAP 5)

重要
このスクリプトは、-f パラメーターの使用やサーバー側のアラートスクリプトなど、サーバー上で直接実行されることが意図されています。インタラクティブ CLI を使用して実行することはできません。
アラートの応答でサーバー側のスクリプトを実行する方法は、『 Using JBoss Operations Network for Monitoring, Deploying, and Managing Resources 』を参照してください。
重要
セキュリティー上の理由から、アラート CLI スクリプトからローカル JNDI ルックアップを実行することはでき ません。リモート JNDI ルックアップを実行できます。
アラートシステムは、発生するアラートに対応してスクリプトを実行できます。JBoss AS 5 サーバーの応答の 1 つが JNDI ディレクトリーを確認し、JMX 情報を検索することです。
このスクリプトは最初に JNP 経由でリモート JNDI ディレクトリーに接続し、を使用します。 assertNotNull JMX オブジェクトを取得するメソッド。次に、スクリプトは JMX 情報を出力します。
//This test requires a remote JBoss AS 5 server running with JNDI directory remotely accessible using JNP (without authz)
//This script assumes that there is a bound object called "jmx" in the directory (which it should be)
var jbossHost = 'localhost';
var jbossJnpPort = 1299;

var env = new java.util.Hashtable();
env.put('java.naming.factory.initial', 'org.jboss.naming.NamingContextFactory');
env.put('java.naming.provider.url', "jnp://" + jbossHost + ":" + jbossJnpPort);
var ctx = new javax.naming.InitialContext(env);
var jmx = ctx.lookup('jmx');
assertNotNull(jmx);
pretty.print(jmx);